Eine Url öffnen lassen?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
jaslaz
Beiträge: 58
Registriert: Sa 28. Aug 2010, 18:30
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Eine Url öffnen lassen?

Beitrag von jaslaz »

Hi Leute,
Hab das hier schon im Forum gefunden

Code: Alles auswählen

uses windows,shellapi;
procedure xx;
begin
ShellExecute(Handle, 'open', 'http://www.google.com/',nil,nil, SW_SHOWNORMAL);
end;
(http://www.lazarusforum.de/viewtopic.php?f=26&t=3351" onclick="window.open(this.href);return false;)

Wenn ich das mit irgendeiner Webseite direkt probiere (wie im Beispiel) geht das auch, aber in meinem Code funktioniert das irgendwie nicht:

Code: Alles auswählen

procedure TForm2.openurlClick(Sender: TObject);
var webseite:string;
  begin
   webseite:=ComboBox1.text;
   ShellExecute(Handle, 'open', PWideChar(webseite),nil,nil, SW_SHOWNORMAL);
 
end;
Das PWideChar hab ich wegen einer fehlermeldung hingeschrieben

Code: Alles auswählen

unit2.pas(274,41) Error: Incompatible type for arg no. 3: Got "AnsiString", expected "PWideChar"
Nun öffnet sich das Programm zwar aber es passiert nichts wenn der Button gecklickt wird.


Hoffe ihr könnt mir helfen. Danke schonmal!

LG Jaslaz

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Eine Url öffnen lassen?

Beitrag von shokwave »

Hi,

sollte eigentlich, vom Code her, funktionieren. Was steht denn in deiner Combobox drin? Die URL muss komplett mit "http://www..." sein!
mfg Ingo

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Eine Url öffnen lassen?

Beitrag von Socke »

jaslaz hat geschrieben:Das PWideChar hab ich wegen einer fehlermeldung hingeschrieben

Code: Alles auswählen

unit2.pas(274,41) Error: Incompatible type for arg no. 3: Got "AnsiString", expected "PWideChar"
Schonmal daran gedacht, dass ein AnsiString nicht aus WideChars sondern aus Chars besteht? Es wird schon seinen Grund haben, warum die Funktion einen C-WideString (UTF-16) und keinen C-String erwartet.
Das andere Thema sollte sich hier im Forum finden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

jaslaz
Beiträge: 58
Registriert: Sa 28. Aug 2010, 18:30
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Eine Url öffnen lassen?

Beitrag von jaslaz »

Ok, danke habs jetzt hingekriegt!

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Eine Url öffnen lassen?

Beitrag von marcov »

Oder, in neuere (0.9.29+) Versionen, nutze "openurl", "openmail" usw

http://lazarus-ccr.sourceforge.net/docs ... enurl.html" onclick="window.open(this.href);return false;

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Eine Url öffnen lassen?

Beitrag von Socke »

marcov hat geschrieben:Oder, in neuere (0.9.29+) Versionen, nutze "openurl", "openmail" usw
Hätte ich auch genannt, wenn mir eingefallen wäre, in welcher Unit die implementiert sind. lclintf scheint mir da nicht die beste Wahl zu sein.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Eine Url öffnen lassen?

Beitrag von marcov »

Socke hat geschrieben:
marcov hat geschrieben:Oder, in neuere (0.9.29+) Versionen, nutze "openurl", "openmail" usw
Hätte ich auch genannt, wenn mir eingefallen wäre, in welcher Unit die implementiert sind. lclintf scheint mir da nicht die beste Wahl zu sein.
"openurl" eingeben, ctrl-F1 drücken, wie schwierig kann es sein? :-)

Bild

Dass heißt das "openurl" schon in der Index heutiger CHMs ist. Und die funktionieren auch mit Lazarus.

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Eine Url öffnen lassen?

Beitrag von Socke »

marcov hat geschrieben:Dass heißt das "openurl" schon in der Index heutiger CHMs ist. Und die funktionieren auch mit Lazarus.
Wenn man die CHMs installiert hat, mag das funktionieren. Ich greife aber auf die Online-Version zurück und dazu brauchts die passende Unit in der Uses-Klausel.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten