Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.046 c
15-1231582306
AlexDan
2009-01-10 13:11
2009.03.15
Математика, функции.


15-1231620194
Hpb
2009-01-10 23:43
2009.03.15
Какие есть компоненты для оптического распознавания текста?


2-1232484018
postedman
2009-01-20 23:40
2009.03.15
Компоненты TStringList и TObjectList


15-1231493354
Vainuu
2009-01-09 12:29
2009.03.15
Экзамен!!!!


15-1231425248
Мистер Блин
2009-01-08 17:34
2009.03.15
Рекурсивный метод сортировки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский