![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установка свойства Parent для TWebBrowser - нарушение работы [D5, D7, Win2k, WinXP]
VaDima © (2004-12-20 00:14:00)Изменение свойства Parent у TWebBrowser приводит к ошибочной работе контрола, если он уже размещен в каком-либо контейнере. Это вызвано тем, что метод RemoveControl вызывает разрушение Handle'а браузера.
// Напоминаю, что TWebBrowser.Parent возвращает IDispatch родительского объекта:
TWinControl(WebBrowser1).Parent := NewContainerControl;
Я нашел этому workaround, но ошибка остается, если устанавливается свойство Parent для КОНТЕЙНЕРА браузера.
Как ПЕРЕНЕСТИ TWebBrowser из одного контрола в другой?
Архив с демо-формочкой лежит по адресу: http://ma.com.ua/stuff/twebbrowser.rar
VaDima (2004-12-21 18:57:00) [1]Семен, извини за не вполне точно поставленный вопрос, более правильно он сформулирован в модуле демки. Перенести непосредственно TWebBrowser из одного парента в другой - не проблема. Сложности начинаются, когда мы изменяем парент для контрола, В КОТОРОМ находится TWebBrowser.
Кроме того, InsertControl'а для переноса контрола никак не достаточно.
Семен Сорокин (2004-12-21 12:14:00) [2]попробуй так вместо присвоения Parent:
NewContainerControl.InsertControl(WebBrowser1);
VaDima (2004-12-21 12:03:00) [3]
> уничтожив старый и создать подобный ему новый
не годится: повторная загрузка (возможны большие документы), хистори (TravelLog)...
пофиксить никак?
KilkennyCat (2004-12-20 03:13:00) [4]уничтожив старый и создать подобный ему новый?