AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Datei von Memorystream in Webbrowser laden
Thema durchsuchen
Ansicht
Themen-Optionen

Datei von Memorystream in Webbrowser laden

Ein Thema von taktaky · begonnen am 24. Okt 2007 · letzter Beitrag vom 24. Okt 2007
Antwort Antwort
taktaky
(Gast)

n/a Beiträge
 
#1

Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 10:46
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;
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 10:51
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 10:52
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 10:52
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 [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#5

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 10:55
Zitat von Daniel:
"Webbrowser und "LoadFromStream" wären wohl passende Suchbegriffe.
Wenn man sogar gleich noch TWebbrowser und LoadFromStream bei Google reinpackt landet man mit Treffer No 1 direkt wieder hier in der DP und zwar bei einem Thread, der gleich noch zwei Links liefert. Grandios. Im übrigen hatte ich nicht geglaubt, dass das überhaupt geht - aber man lernt ja nie aus
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#6

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 12:54
Also so funktioniert:
Delphi-Quellcode:
begin
WebBrowser1.Navigate('res://' + Application.ExeName + '/Index');
end;
aber so geht nicht
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;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 13:01
Schau Dir bitte einmal oder auch mehrmals den Beitrag 3 dieses Threads an.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#8

Re: Datei von Memorystream in Webbrowser laden

  Alt 24. Okt 2007, 13:17
Zitat von taktaky:
WebBrowser1.Navigate('res://' + Application.ExeName + '/streamtostring(s1)');
streamtostring(s1) kann so nicht funktionieren.

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.

WebBrowser1.Navigate('res://' + Application.ExeName + '/Kernel.Utils.Streams.Strings.Foo.streamToString("@S1")'); Das sollte klappen.
  Mit Zitat antworten Zitat
Alt 24. Okt 2007, 13:22     Erstellt von DeddyH
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Das ist alles andere als hilfreich
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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