Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Вниз

Почему это не хочет корректно работать в потоке? 


lipskiy   (2002-04-06 16:09) [0]

Есть функция проверки доступности URL (взята из каких-то FAQов). Когда вызываю ее из основного потока - все ок. А когда вызываю ее из своего пользовательского потока, то тоже отрабатывает нормально и даже программа дальше работает, но только до того момента, когда я активирую любое другое окна (свое или чужое - неважно, главное что мышкой активируется любое другой окно) вылетает ошибка raised exception class EWin32Error with message "Ошибка Win32. Код 1400. Недопустимый дескриптор окна" и при нажатии ОК и попытке продолжить - новое окно ошибки - нарушение доступа по адресу... в модуле ntdll.dll, после чего прога слетает напрочь.
Что это значит?

Вот эта функция:

function CheckUrl(URL:string):boolean;
var
hSession, hfile, hRequest: hInternet;
dwindex,dwcodelen :dword;
dwcode:array[1..20] of char;
res : pchar;
begin
if pos("http://",lowercase(url))=0 then
url := "http://"+url;
Result := false;
hSession := InternetOpen("InetURL:/1.0",
INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0);
if assigned(hsession) then
begin
hfile := InternetOpenUrl(
hsession,
pchar(url),
nil,
0,
INTERNET_FLAG_RELOAD,
0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE,
@dwcode, dwcodeLen, dwIndex);
res := pchar(@dwcode);
result:= (res ="200") or (res ="302");
if assigned(hfile) then
InternetCloseHandle(hfile);
InternetCloseHandle(hsession);
end;
end;



troits   (2002-04-06 17:12) [1]

Создал приложение с несколькими формами, в потоке (TThread) вызываю CheckUrl - все нормально. Потом можно переключаться между формами. Видимо, ошибка в другом!



lipskiy   (2002-04-06 21:42) [2]

Хм, ну да, вероятно.
Тогда труба, как это искать - методики себе не представляю...




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.027 c
14-57858          Ru@beN                2002-03-11 16:22  2002.04.18  
винда ХР ?????? Тоже интересно ...


1-57675           Gamar                 2002-04-07 14:34  2002.04.18  
Шрифты!!!


14-57848          Ketmar                2002-03-08 17:46  2002.04.18  
между прочим... а каково ваше отношение к GNU?


3-57618           veronika              2002-03-28 09:48  2002.04.18  
Можно ли с помощью Update добиться того, чтобы записи из таблицы


6-57832           Song                  2002-01-28 14:11  2002.04.18  
Я никогда не программировал сокеты, объясните мне одну простейшую вещь...