Hallo,
ich habe in meinem Programm die TWebBrowser-Komponente eingebunden. Dort rufe ich nun eine
URL auf, die u.a. folgenden
HTML-Code beinhaltet:
Delphi-Quellcode:
...
[
url="file:
//c:/datei.end"]datei.end[/url]
...
Nun soll bei einem Klick auf eben diesen Link die Datei "ganz normal" (also wie ein Doppelklick im Explorer) geöffnet werden. Ich habe folgende Funktion eingebunden:
Delphi-Quellcode:
procedure TMainFrm.BrowserBeforeNavigate2(ASender: TObject;
const pDisp: IDispatch;
var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant;
var Cancel: WordBool);
var
newURL:
String;
begin
newURL :=
URL;
ShowMessage(NewURL);
//Zu Testzwecken eingebaut
if newURL <> '
about:blank'
then begin
Cancel := True;
ShellExecute(Application.Handle, '
open', PChar(newURL),
nil,
nil, SW_NORMAL);
end;
end;
Wenn ich nun den Link ("file://c:/datei.end") als HTTP-Link umbaue (also z.B.
http://www.delphipraxis.net), wird der Link auch (so wie es sein soll) über "ShellExecute" geöffnet (also im Standardbrowser). Aber bei dem oben genannten "file://"-Link passiert rein gar nichts. M.M.n. wird er nichtmals als Link angenommen, da auch die Zeile "ShowMessage(NewURL)" gar nicht erst ausgeführt wird.
Hat jemand eine Idee?
Danke,
Der S