Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Änderung des Parent eines TWebBrowser's zur Laufzeit (https://www.delphipraxis.net/65401-aenderung-des-parent-eines-twebbrowsers-zur-laufzeit.html)

WladiD 16. Mär 2006 09:22


Änderung des Parent eines TWebBrowser's zur Laufzeit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DP-Community,

ich bin wiedermal in einer Sackgasse mit meinem Problem. Finde hierfür weder hier, noch bei Google oder msdn eine Lösung. Hab auch selber alles mögliche ausprobiert...es will einfach nicht.

Also...

Ich will zur Laufzeit den Parent meines TWebBrowser ändern um diesen an eine andere Stelle zu bringen. Eigentlich eine ganz banale Angelegenheit, z.B. so:

Delphi-Quellcode:
TControl(WebBrowser1).Parent:=Panel2;
Funktioniert auch insoweit, dass sich der Browser dann zwar an der gewünschten Stelle befindet, jedoch komplett leer ist (falls bereits zu einer Seite navigiert wurde) und die komplette Historie ist ebenfalls weg.

Habe auch den Trick mit übergeordnetem Panel und dann das ändern des Parent des Panels -> derselbe Effekt: die Seite verschwindet!

Hab auch festgestellt, dass 2 Threads des IE nach ändern des Parent beendet werden.

Hat vielleicht einer eine Lösung für das Problem?

Im Attachment habe ich -auf die schnelle- eine kleine Demo zur verdeutlichung des Problems erstellt.

marabu 16. Mär 2006 18:29

Re: Änderung des Parent eines TWebBrowser's zur Laufzeit
 
Hallo.

Durch das kurzfristige Wegnehmen des Parent wird das dann fensterlose WebBrowser.Document freigegeben. Du könntest dir so helfen:

Delphi-Quellcode:
procedure TDemoForm.PanelClick(Sender: TObject);
var
  url: String;
begin
  url := WebBrowser.LocationURL;
  TWinControl(WebBrowser).Parent := Sender as TPanel;
  WebBrowser.Navigate(url);
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 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