TWebBrowser: Links mit "file://" öffnen?
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:
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:
...
[url="file://c:/datei.end"]datei.end[/url] ...
Delphi-Quellcode:
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.
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; Hat jemand eine Idee? Danke, Der S ;) |
Re: TWebBrowser: Links mit "file://" öffnen?
Hallo Marcel,
versuche es doch mal mit dem richtigen Vorsatz - file:///c|/datei.end Grüße vom marabu |
Re: TWebBrowser: Links mit "file://" öffnen?
Super, danke... :)
Bei z.B. (c:/datei.end bzw. file:///c|/datei.end) funktioniert es jetzt auch. Nun habe ich aber ein weiteres Problem(chen): :shock: Wenn ich nun einen Link habe, der Leerzeichen enthält (also z.B. "d:/Eigene Dateien/Eigene Bilder/datei.jpg"), dann funktioniert es wohl nicht mehr. Ich habe auch schon versucht, den Link (bzw. den reinen Pfad) mit Hilfe dieser Funktion umzuwandeln. Das Umwandeln klappt auch ohne Probleme und die Funktion gibt mir einen korrekten "ShortPath" zurück. Wenn ich diesen nun bearbeite (also mit "file:///" und "|") klappt es trotzdem nicht im TWebBrowser... :( |
Re: TWebBrowser: Links mit "file://" öffnen?
Quote den Pfad
|
Re: TWebBrowser: Links mit "file://" öffnen?
Zitat:
|
Re: TWebBrowser: Links mit "file://" öffnen?
Hallo,
ein schlichtes percent encoding sollte helfen:
Code:
Quotes sind eigentlich eher was für die Shell.
file:///d|/Eigene%20Dateien/Eigene%20Bilder/datei.jpg
Freundliche Grüße |
Re: TWebBrowser: Links mit "file://" öffnen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz