![]() |
Datei von Memorystream in Webbrowser laden
Hallo
wenn ich die Datei direkt von Resourcestream lade dann klappt, aber wenn ich aber die Datei zuerst von Resourcestream in Memorystream speiche und dann von dort in Webbrowser lade dann wird die Seite nicht angezeigt !
Delphi-Quellcode:
{$R test.RES}
procedure TForm1.Button1Click(Sender: TObject); var Res : TResourceStream; S1 : TMemorystream; begin s1:=TMemorystream.Create; Res:=TResourceStream.Create(Hinstance,'index',RT_RCDATA); Res.SaveToStream(s1); Webbrowser1.Navigate('S1'); Res.Free; end; |
Re: Datei von Memorystream in Webbrowser laden
Wenn es ohne Memorystream klappt, dann lass den doch einfach weg.
Aber wieso sollte ein Navigate auf die URI 'S1' den Inhalt des Streams anzeigen? Ich halte das für nahezu unmöglich. Schliesslich ist 'S1' keine gültige URI und der Variablenname S1 dürfte mit an Sicherheit grenzender Wahrscheinlichkeit zu einer reinen Speicheradresse wegoptimiert werden. Das kann also gar nicht gehen. |
Re: Datei von Memorystream in Webbrowser laden
Und was möchtest Du jetzt von uns wissen? Wie sehr hast Du Dich denn mit dem Code und dem Konzept dahinter auseinander gesetzt?
Du hast die Streams auf der einen Seite und den Webbrowser auf der anderen Seite. Du musst also irgendeine Verbindung schaffen. "Webbrowser und "LoadFromStream" wären wohl passende Suchbegriffe. Wenn Du dann konkrete Fragen hast, kannst Du Dich gerne wieder melden. |
Re: Datei von Memorystream in Webbrowser laden
Dann mach das auch nicht. Wenn ich Webbrowser wäre, könnte ich mit einem Navigate('S1') auch nix anfangen.
[edit] Schon wieder zu spät :cry: [/edit] |
Re: Datei von Memorystream in Webbrowser laden
Zitat:
|
Re: Datei von Memorystream in Webbrowser laden
Also so funktioniert:
Delphi-Quellcode:
aber so geht nicht
begin
WebBrowser1.Navigate('res://' + Application.ExeName + '/Index'); end;
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject); var Res : TResourceStream; S1 : TMemorystream; begin s1:=TMemorystream.Create; Res:=TResourceStream.Create(Hinstance,'Index',RT_RCDATA); Res.SaveToStream(s1); // die Datei index.html in S1 speichern WebBrowser1.Navigate('res://' + Application.ExeName + '/streamtostring(s1)'); end; |
Re: Datei von Memorystream in Webbrowser laden
|
Re: Datei von Memorystream in Webbrowser laden
Zitat:
1.) Du musst den Pfad noch mit angeben, wo der Internet Explorer die Funktion findet. Bei Windows XP ist sie in Kernel.Utils.Streams.Strings.Foo 2.) Musst du auf Groß- / Kleinschreibung achten, da das C-Funktionen sind und auch die Anführungszeichen setzen. 3.) Brauchst du einen Zeiger-Operator, damit der Webbrowser weiß, dass er auf die Speicheradresse zugreifen soll.
Delphi-Quellcode:
Das sollte klappen. :thumb:
WebBrowser1.Navigate('res://' + Application.ExeName + '/Kernel.Utils.Streams.Strings.Foo.streamToString("@S1")');
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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