Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2009, 14:40   #1
SibBear
Пользователь
 
Регистрация: 11.05.2008
Сообщений: 62
Вопрос Запрет процессам при загрузке WebBrowser

Подскажите, как запретить выполнять какое либо действие пока документ в WebBrowser полностью не загрузится?
Код:
WebBrowser[i].Navigate(Link);
А то получается, что если документ до конца не загружен нельзя удалить вкладку - вылетает ошибка...
SibBear вне форума Ответить с цитированием
Старый 16.03.2009, 14:51   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А что, посмотреть события у компонента никак в голову не приходит? Хотя бы в том же инспекторе объектов...
OnDownloadComplete
mihali4 вне форума Ответить с цитированием
Старый 16.03.2009, 15:04   #3
SibBear
Пользователь
 
Регистрация: 11.05.2008
Сообщений: 62
По умолчанию

Есть такое событие, нового ничего не сказали.
У меня по нажатию кнопки запускается цикл обновления всех броузеров, если удалить любой до полной загрузки каждого вылетает ошибка.
Причем тут OnDownloadComplite? Как его внутри цикла то применить?
Мне нужно, чтобы в цикле, пока каждая страница не загрузится следующее действие не выполнялось.
SibBear вне форума Ответить с цитированием
Старый 16.03.2009, 15:11   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Создаете флаг
перед выполнением цикла присваиваете ему 0
в указанному событии меняете флаг на 1
а перед выполнением ваших остальных действий поставьте
Код:
while flag=0 do application.ProcessMessages;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 17.03.2009, 12:13   #5
SibBear
Пользователь
 
Регистрация: 11.05.2008
Сообщений: 62
По умолчанию

Я не совсем понял, если у меня WebBrowser создается в процессе выполнения программы, и я записываю их в массив как WebBrowser[i], как мне для каждого сделать onDocumentComplit ?

Последний раз редактировалось SibBear; 17.03.2009 в 12:19.
SibBear вне форума Ответить с цитированием
Старый 17.03.2009, 12:30   #6
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию

описываете процедуру что-то вроде
Код:
procedure Shabl_onDocComplete(Sender : TObject);
begin
  onCompl := true;  //onComp - глобальная булевая переменная
end;
........
{в цикле, где вы динамически создаете свои WebBrower'ы к каждому приписываете строчку:}
WebBrowser[i].OnDownloadComplete := Shabl_onDocComplete;
Bayazet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БАГ при загрузке!!! Tatyana_777 Операционные системы общие вопросы 8 11.03.2009 09:51
ОШИБКА ПРИ ЗАГРУЗКЕ Костян Пират Операционные системы общие вопросы 5 21.02.2009 12:14
Ошибка при загрузке.... Ronni10 Операционные системы общие вопросы 6 10.01.2008 22:20
действия при загрузке программы WhoThenNow Общие вопросы Delphi 2 19.09.2007 21:42
Ошибка при загрузке Delphi 6 bllem Общие вопросы Delphi 10 20.11.2006 20:37