![]() |
Ä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:
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.
TControl(WebBrowser1).Parent:=Panel2;
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. |
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:
Grüße vom marabu
procedure TDemoForm.PanelClick(Sender: TObject);
var url: String; begin url := WebBrowser.LocationURL; TWinControl(WebBrowser).Parent := Sender as TPanel; WebBrowser.Navigate(url); end; |
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