Autor Beitrag
LittleBen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Sa 22.10.11 19:48 
Hallo,
wenn ich eine Verbindung per IdHttp.Post('',Params) aufbaue, wie kann ich diese dann auf den TWebbrowser übertragen? Also dass ich die Seite sehe, die ich mit IdHttp "geöffnet" habe.

Viele Grüße,
Benny
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 22.10.11 21:04 
Theoretisch kannst du den Seitenquelltext, den du zurückbekommst, in TWebBrowser packen.

Ich frage mich nur: Was hat das für einen Sinn? :gruebel:
Rufe die Seite doch direkt im TWebBrowser auf, dann sparst du dir die Verrenkungen...

Falls du das übersehen hast: die Methode Navigate hat mehr mögliche Parameter als nur die Adresse. Der vierte heißt nicht nur PostData (auch in Delphi), du kannst da auch wirklich Post-Parameter hineinpacken. :zwinker:
LittleBen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 258
Erhaltene Danke: 4

Win 7, Mac OS
Delphi 7
BeitragVerfasst: Sa 22.10.11 21:37 
Ich will die Verbindung von dem IdHttp nur testweise im Webbrowser anzeigen lassen, um zu sehen, was er gerade macht.

Wie kann ich dem TWebbrowser den Seitenquelltext übergeben?
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Sa 22.10.11 22:10 
Speicher den Code als *.html und ruf die Datei auf.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 22.10.11 22:28 
Siehe Doku:
TWebbrowser.Document implementiert das Interface IPersistStreamInit. Du kannst daher dessen Methode load aufrufen um den Seiteninhalt aus dem Stream aus TIdHttp zu laden. Um den Delphi-Stream als IStream übergeben zu können, kannst du einen TStreamAdapter benutzen.

Was IPersistStreamInit angeht, so kannst du TWebbrowser.Document mit as darauf casten oder den mehr COM-artigen Weg über QueryInterface gehen.

Allerdings sieht die Seite logischerweise nicht wie im Original aus, da alle relativen Referenzen auf Styles, Images, ... in der Seite nicht mehr funktionieren.