|
Вопрос # 5 627/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
Вопрос по компоненту WebBrowser.
Имеется процедура, в которой происходит парсинг страницы:
procedure VidimWeb();
var ovElements: OleVariant;
begin
ovElements := Form1.WebBrowser1.OleObject.Document.All;
/// и дальше обработка страницы
end;
Всё прекрасно работает, но как только я делаю поток, с точно таким же кодом, на строке
ovElements := Form1.WebBrowser1.OleObject.Document.All;
происходит ошибка :( Поток вызываю по кнопке, также как и процедуру.
В чём может быть проблема?
З.Ы. Скриншот ошибки:
http://clip2net.com/s/19Z1O
 |
Вопрос задал: Ice-Breaker (статус: Посетитель)
Вопрос отправлен: 7 сентября 2011, 22:09
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 10 сентября 2011, 22:28; участников в обсуждении: 4.
|
Мережников Андрей (статус: Абитуриент), 8 сентября 2011, 05:45 [#1]:
ошибка в способе обращения к компоненту из потока
|
8 сентября 2011, 11:12: Статус вопроса изменён на решённый (изменил автор вопроса — Ice-Breaker): Почитав литературу о многопоточном программировании в Делфи, понял что мои знания ещё далеки от идеала в этом направлении. Задачу решил, самым простым методом, используя Synchronize, загнав туда весь код процедуры.
|
Вадим К (статус: Академик), 8 сентября 2011, 11:30 [#2]:
круто если использовать Synchronize на весь код треда, то преимущество многопоточности сводится на ноль.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 10 сентября 2011, 22:28 [#4]:
Ты пытаешься сохранить полностью всю страницу (прочитать), со всеми фреймами?
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|