Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.18;
Скачать: CL | DM;

Вниз

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

 
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]

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



Страницы: 1 вся ветка

Текущий архив: 2002.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-57792
Vlr
2002-04-05 20:59
2002.04.18
Легкая перезагрузка Windows.


7-57907
Shagrath
2002-01-03 18:51
2002.04.18
Как вывести текст и/или рисунок прямо на экран, т.е. поверх всех игр, окон и т. д.


6-57824
otari
2002-01-15 21:22
2002.04.18
Я хочу отправить смс но не получается


1-57799
SJLove
2002-04-06 17:08
2002.04.18
Помогите разобраться с TEdit


3-57633
lionR
2002-03-28 11:24
2002.04.18
как открыть Таble в exclusive?