![]() |
Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstellen
Hallo !
ist es möglich einen zur laufzeit erzeugten Code im TWebbrowser (oder einer ähnlichen Komponennte) anzuzeigen, ohne ihn temporär auf der platte zu speichern ? gruss |
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
Naja, ich habe das irgendwann so gemacht:
Delphi-Quellcode:
Ist zwar schon länger her, vielleicht gibts auch eine bessere Methode, aber damals hats funktioniert (obwohl ich den Code, wenn ich mich richtig erinnere, damals gar nicht richtig verstanden habe :mrgreen: )
procedure LoadCode(HTMLCode: string);
var sl: TStringList; ms: TMemoryStream; begin WebBrowser1.Navigate('about:blank'); while WebBrowser1.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; if Assigned(WebBrowser1.Document) then begin sl := TStringList.Create; try ms := TMemoryStream.Create; try sl.Text := HTMLCode; sl.SaveToStream(ms); ms.Seek(0, 0); (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); finally ms.Free; end; finally sl.Free; end; end; end; LG, Delphi-Freak Edit: Irgendwie fällt mir da zwar auf, dass TStreamAdapter nur createt aber nicht gefreet wird. Ev. sollte man da eine weitere Variable einführen (vom Typ TStreamAdapter) und die danach dann freeen :gruebel: |
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
Kannst du mir noch sagen, welche Unit ich für
Delphi-Quellcode:
einbinden muss ?
IPersistStreamInit
gruss |
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
Könnte das »SHDocVw_TLB« sein? Wie gesagt, es ist schon einige Zeit her und inzwischen verwende ich d2k5 Personal, der den TWebBrowser nicht kennt. Aber ich denke das das die^^ ist. Ich hoffe die gibts bei dir auch. :gruebel:
LG |
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
SHDocVw_TLB gibt's bei mir nicht :cry:
|
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
Ist ein ActiveX, was du wohl importieren musst.
|
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
*gr* Luckie war schneller :evil:
Aber ich bin wieder auf den Thread von damals, wo ich das Problem gehabt habe gestoßen: ![]() LG, Delphi-Freak |
Re: Zur Laufzeit erzeugter HTML-Code in TWebbrowser darstell
:bounce2: thx, klappt wunderbar !
Delphi-Quellcode:
uses
ActiveX; procedure WB_LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string); var sl: TStringList; ms: TMemoryStream; begin WebBrowser.Navigate('about:blank'); while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages; if Assigned(WebBrowser.Document) then begin sl := TStringList.Create; try ms := TMemoryStream.Create; try sl.Text := HTMLCode; sl.SaveToStream(ms); ms.Seek(0, 0); (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); finally ms.Free; end; finally sl.Free; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin WB_LoadHTML(WebBrowser1,'<center>Delphi-Praxis rules</center>'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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