Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebbrowser -> komisches Verhalten (https://www.delphipraxis.net/26246-twebbrowser-komisches-verhalten.html)

Peter Geyer 20. Jul 2004 21:28


TWebbrowser -> komisches Verhalten
 
Moin,

ich hoffe Ihr könnt mir helfen, ich stecke voll fest :pale:

Ich habe einen Webbrowser in meinem Prog, den ich nicht über Navigate sondern über eine
Stringlist mit der HTML Seite füttere. Die SL wird logischerweise zur Laufzeit gefüllt und dann bei Bedarf an den Browser geschickt. Das klappt auch alles soweit, nur wenn ich einen Link im HTML Code habe der wie folgt aussieht:

XML-Code:
[url="C:\Daten\test.pdf"]Mein Link[/url]
wird er einfach beim Klick nicht ausgeführt. Es gibt zwar eine Hand, aber beim klicken passiert nichts. Mache ich das gleiche mit einem externen Link:

XML-Code:
[url="http://www.meineDomain.de/test.pdf"]Mein Link[/url]
geht´s sofort und ohne Probleme.

Auch geht es mit dem lokalen Link wenn ich die Stringlist vorher auf die Platte schreibe und dann per Webbrowser.Navigate die Datei lese. Leider ist das keine Lösung da ich später mit der Anwendung auf einer CD bin und nichts lokal schreiben darf.

Hat irgendjemand möglicherweise einen tollen Einfall :?

viele Grüße
Peter

StefanDP 20. Jul 2004 21:29

Re: TWebbrowser -> komisches Verhalten
 
probier mal
<a href="file:///c:/daten/usw" ...>

Peter Geyer 20. Jul 2004 23:20

Re: TWebbrowser -> komisches Verhalten
 
Hmm, leider klappt das auch nicht...
trotzdem danke :-)

S2B 20. Jul 2004 23:23

Re: TWebbrowser -> komisches Verhalten
 
Wie lädst du denn den Code direkt in den WebBrowser? Vielleicht kann man dir besser helfen, wenn du uns das verrätst! :wink:

Peter Geyer 21. Jul 2004 00:25

Re: TWebbrowser -> komisches Verhalten
 
Jau,

Das ist die passende Funktion:
Delphi-Quellcode:
function ShowHtml(mWebBrowser: TWebBrowser; mStrings: TStrings): Boolean;
var
  vMemoryStream: TMemoryStream;
begin
  Result := False;
  if not (Assigned(mStrings) and Assigned(mWebBrowser)) then Exit;
  mWebBrowser.Navigate(exepfad+'html\blank.html');
  if not Assigned(mWebBrowser.Document) then Exit;
  vMemoryStream := TMemoryStream.Create;
  try
    mStrings.SaveToStream(vMemoryStream);
    try
      vMemoryStream.Position := 0;
      Application.ProcessMessages;
      (mWebBrowser.Document as IPersistStreamInit).Load(
        TStreamAdapter.Create(vMemoryStream));
    except
      Exit;
    end;
  finally
    vMemoryStream.Free;
  end;
  Result := True;
end;
und so wird sie aufgerufen:

Delphi-Quellcode:
sl.Clear;
sl.Add('[url="file:///C:/Test/MeinPdf.pdf"]Mein Link[/url]'); // Allerhand in die Liste packen...

ShowHtml(WebBrowser1,SL); // und die Funktion aufrufen
Beantwortet das Deine Frage?

danke für die Mühe

Peter

emploi 21. Jul 2004 11:35

Re: TWebbrowser -> komisches Verhalten
 
Funktioniert es denn wenn du ne ganz normale Html seite öffnest
local oder im web? könnte mir vorstellen das es einfach daran liegt das es
ne PDF ist?

Dann wäre klar warum es funktioniert wenn du es mit target=_blank aufrufst,
dann startet er nämlich nen stinknormalen I-net Explorer und der wiederrum
kann pdf Files sofern Acrobat Reader installiert ist problemlos öffnen.

mfg emploi

Peter Geyer 21. Jul 2004 19:27

Re: TWebbrowser -> komisches Verhalten
 
Ja, leider klappt es auch mit einem ganz normalen Link nicht. Es liegt auch nicht am pdf, denn
wenn ich die Seite erstmal auf der Platte zwischenspeicher, dann klappt es.


Grüße
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz