Einzelnen Beitrag anzeigen

MCXSC
(Gast)

n/a Beiträge
 
#1

TWebBrowser: Links mit "file://" öffnen?

  Alt 10. Jun 2008, 01:53
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:blankthen 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
  Mit Zitat antworten Zitat