Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebBrowser frozen... как оживить 
:(
    Опции темы
December
Дата 8.11.2004, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Greetings All!
После перенаправления нового окна бродилки на новый TWebBrowser объект с помощью конструкции
Код

procedure TfrSingleBrowser.WebBrowser1NewWindow2(Sender: TObject;
 var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=IDispatch(WebBrowser1.OleObject);
...

возникает такая проблема: WebBrowser1, когда попадает в область видимости на мониторе, не показывает своего содержимого, не реагирует на клики, клаву - короче, отмораживается smile Однако, если форму отресайзить, то WebBrowser1 просыпается и начинает вести себя по-человечески (то есть, как и должен). Вопросы:
1) Почему это происходит?
2) Как грамотно оживить TWebBrowser?
Заранее спасибо.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 10.11.2004, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 6
Всего: 112



Цитата(December @ 8.11.2004, 02:15)
После перенаправления нового окна бродилки на новый TWebBrowser объект с помощью конструкции
А где там новый TWebBrowser ? У тебя WebBrowser1 открывает новое окно в этом же WebBrowser1... Или так и задумано ?

Что-то у меня не получилось забацать такой случай (что при открытии в этом же WebBrowser'е, что в новом...) - всё нормально получается, и не виснет... Код 1:1 как у тебя...
Возможно дело в чём-то другом... Может где какое хитрое событие повешено ?

Если что, вышли мне исходник...



--------------------
С уважением, г-н Посол.
PM   Вверх
December
Дата 11.11.2004, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Да... Вот такие пироги получились...
Проблема была в том, что новый браузер создавался динамически, являясь частью фрейма. При этом почему-то не инициализируется WebBrowser.ParentWindow в нужное значение, и когда я ручками в новосозданном фрейме добавляю эту связь, то всё раюотает нормально.
P0s0l, спасибо за участие в теме smile


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
December
Дата 12.11.2004, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Упс, рано обрадовался... Щас буду демку делать smile


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 13.11.2004, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 6
Всего: 112



Ну, ждём дему smile


--------------------
С уважением, г-н Посол.
PM   Вверх
December
Дата 14.11.2004, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Мне вот дико интересно, это мелкомягкие такой кривой АктивХ сделали (точно, что Х...), или же Борланд ТАК криво импортнул? Исконный вопрос - кто виноват? smile Сорри за лиротступ smile
После длительных пыток и издевательств ад кодом на операционном столе выяснилось, что причиной заморозки WebBrowser'a является TImage smile Точнее, его исчезновение с поля боя. Итак жил-был Frame, в котором гнездились TWebBrowser (Align=alClient) и TImage (Align=alBottom). Сценическая роль объекта TImage заключается в появлении себя, любимого, во время загрузки страницы, с ползунком, отражающим прогресс загрузки (кто ещё не понял, Opera Software может подать на меня в суд за плагиат). По окончании загрузки объект TImage, ессно, исчезает... Так вот, если действо вершится на видимом фрейме, то всё гладко и стабильно. Но если операция происходит во фрейме, которй в данный момент сокрыт от глаз наблюдателя, то исчезновение Image1 (Image1.Visible:=false) приводит к заморозке WebBrowser1... до тех пор, пока не осуществлялся Resize формы.
Вот такие беляши с собачками...


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.1177 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.