CppWebBrowser, Как поймать завершение загрузки страниц
От: T_i_m_e  
Дата: 23.08.09 07:45
Оценка:
С компонентой CppWebBrowser работаю недавно.
В CppWebBrowser поочерёдно загружаю несколько страниц (в цикле). Проблема поймать окончание загрузки каждой, с целью её обработки в момент завершения (к примеру сохранить её текст и т.п.). Т.е. перед тем как CppWebBrowser приступит к загрузке следущей страницы цикла он должен завершить отображение предыдущий.
У меня же получается, что из всех страниц цикла, в процессе отображается только последняя, а остальные как бы не успевают загружатся до конца. Каким образом программно можно приостановить загрузку следущей страницы, пока не закончила загрузку предыдущая или как определить что страница полностью загружена, подскажите пожалуйста?

p.s. через NavigateComplete2, DownloadComplete и т.п.события завершение загрузки страниц отследить не получилось...

23.08.09 15:52: Перенесено модератором из 'C/C++' — Кодт
Re: CppWebBrowser, Как поймать завершение загрузки страниц
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 25.08.09 07:51
Оценка:
Здравствуйте, T_i_m_e, Вы писали:

T__>p.s. через NavigateComplete2, DownloadComplete и т.п.события завершение загрузки страниц отследить не получилось...


1) Проверить ReadyState для TWebBrowser:
     while WebBrowser.ReadyState<>READYSTATE_COMPLETE do 
           Application.ProcessMessages;


2) Проверить тип сообщений для потока и ждать, пока там что-то есть:

     if GetQueueStatus(QS_ALLEVENTS)<>0 then 
        Application.ProcessMessages
     else 
        sleep(0);
WBR, Dmitry Beloshistov AKA [-=BDS=-]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.