Текущий архив: 2009.03.15;
Скачать: CL | DM;
Вниз
WebBrowser.Navigator и поток Найти похожие ветки
← →
cruiser © (2009-01-21 20:31) [0]Здравствуйте все! Подскажите, почему внутри отдельного потока не хочет работать функция WebBrowser.Navigate ? Выдается ошибка что не найдена страница или проверьте доступ к Интернет. При запуске в основном потоке программы все отрабатывает. Как сделать что бы всё работало корректно внутри потока? Delphi 2009, WinXP SP3 Pro
Вот код:procedure TNewThread.Execute;
begin
form3.WebBrowser1.Navigate("http://www.ya.ru");
end;
procedure TForm3.Button1Click(Sender: TObject);
var
NewThread: TNewThread;
begin
NewThread:=TNewThread.Create(true);
NewThread.FreeOnTerminate:=true;
NewThread.Priority:=tpLower;
NewThread.Resume;
end;
← →
Медвежонок Пятачок © (2009-01-21 20:41) [1]Как сделать что бы всё работало корректно внутри потока?
Никогда не создавать таких чудесных потоков.
← →
cruiser © (2009-01-21 20:43) [2]Ну как и следовало ожидать - опять сарказм, присущий обывателям данного форума... :)
По сути сказать можете должно работать navigate в отдельном потоке или нет?
← →
Медвежонок Пятачок © (2009-01-21 20:46) [3]не должно быть обращений к элементам UI из вторичных потоков.
вот это и есть по существу.
← →
cruiser © (2009-01-21 21:49) [4]ВСё ясно. буду избавляться от использования navigate внутри потока в этом случае. спасибо.
← →
Сергей М. © (2009-01-21 23:05) [5]
> cruiser © (21.01.09 21:49) [4]
Любопытно, что это за "этот случай" ?
И как это "navigate" НЕ "внутри потока" ?
← →
cruiser © (2009-01-21 23:39) [6]:) я привел только часть кода относящуюся к вопросу.
в потоке отрабатываются и другие действия. просто придется либо navigate использовать в основном потоке, что при определенных обстоятельствах приводит к подвисанию главной формы (нет доступа к ресурсу или нет соединения с интернет либо канал интернет слишком узкий), либо попробую idHttp - он вроде в потоке отрабатывает нормально.
← →
Сергей М. © (2009-01-22 09:21) [7]
> попробую idHttp - он вроде в потоке отрабатывает нормально
Так тебе нужно всего лишь получить гипертекст, без последующей необходимости интерпретировать его браузером ?
Тогда TWebBrowser - это как из пушки по воробьям.
К тому же TWebBrowser использует событийный механизм на основе оконных сообщений, а этого ты как раз и не учитываешь, пытаясь выполнить навигацию в доп.потоке.
← →
cruiser © (2009-01-22 11:15) [8]Это я понял. Мне нужно получить даже не гипертекст, а содержимое текстового файла на сервере. ya.ru приведен как пример. Попробовал idhttp.get - вроде работает как надо :) Спасибо всем за участие.
Страницы: 1 вся ветка
Текущий архив: 2009.03.15;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.041 c