Hallo Igotcha,
Hast du es schon mal mit absoluten Pfadangaben probiert?
Da das geladene Dokument lokal nicht existiert wird durch die relative Pfadangabe die lokale Datei nicht gefunden.
Alternative, falls das auch nicht funktionieren sollte:
Ein eigenes Protokoll definieren:
Delphi-Quellcode:
const
MYPROTOCOL = 'mylocalfile://';
Im OnBeforeNavigate2 Ereignis den Link in den lokalen Link umwandeln.
Delphi-Quellcode:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch;
var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant;
var Cancel: WordBool);
begin
if Pos(MYPROTOCOL,
URL) <> 0
then
begin
Cancel := True;
// Navigation Abbrechen
URL := StringReplace(
URL, MYPROTOCOL ,'
file://',[rfIgnoreCase]);
TWebBrowser(Sender).Navigate(
URL);
end;
end;
Zuvor wird der Link ins Dokument geladen:
Delphi-Quellcode:
//...
strLocalFile := MYPROTOCOL + '
/C:/test.htm';
myDocument.
Write('
Hier soll jetzt zur [url="'+ strLocalFile +'
"]lokalen Datei[/url] navigiert werden.</p>');
//...