Вниз
Скачать: CL | DM;

Почкму при запуске через D7 нет ошибки, а при обычном запуске ест   Найти похожие ветки 

← →
STK ©   (2006-01-18 20:43) [0]

Проблема вот в чём:
При запуске этого кода в потоке:
 NetHandle := InternetOpen("Microsoft Internet Explorer 6.0", INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
 if nethandle <> nil  then //Assigned(NetHandle) then
   for i:= 17 to 20 do
     FileName := "C:\Save\"+url+".abc";
     url := "http://www.hlam.ru/"+url+".abc";
(*1*)      UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
       if Assigned(UrlHandle) then
         begin // UrlHandle правильный? Начинаем загрузку
// здесь идёт загрузка файла
           if UrlHandle <> nil then
         InternetCloseHandle(UrlHandle);  UrlHandle := 0;
           Close(f);
         end
       else begin
         if InternetCloseHandle(UrlHandle) = False then showMessage("Closehandle(urlhandle) = False")
         else showMessage("Closehandle(urlhandle) = True");
// UrlHandle неправильный. Генерируем исключительную ситуацию.
         showMessage("Нет Урлы");
         raise Exception.CreateFmt("Cannot open URL %s", [Url]);
        exit;
      end;
  end
 else begin
           showMessage("Нет сессии");
// NetHandle недопустимый. Генерируем исключительную ситуацию
//   raise Exception.Create("Unable to initialize Wininet");
//             break;
  end;
  if NetHandle <> nil then
  InternetCloseHandle(NetHandle); // закрываем сессию

Проблема в том, что если нет инет соединения, т.е. комп не подключен к инету, то в точке (*1*) UrlHandel = nil. И при закрывании программы возникает ошибка 1400 "Неверный дескриптор окна", как я понимаю это хендел типа создался, но закрыться с открытым хендлом прога не может.
Может мне просто проверить на присутствие инета сейчас, на время скачивания. Но как же быть если инет пропадёт во время самого скачивания? Если не понятно могу пояснить.
Но если есть инет то всё скачивается замечательно, без проблем.


← →
STK ©   (2006-01-19 02:01) [1]

Да по ходу дела придётся самому тут ковырять.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
1-1136420119
Piter
2006-01-05 03:15
2006.02.05
Как избавиться от исключения "is specific to a platform"


2-1137692174
Гриша
2006-01-19 20:36
2006.02.05
TreeView


2-1137568718
ZZZ
2006-01-18 10:18
2006.02.05
Как определить сер. номер...?


3-1133951591
msgipss
2005-12-07 13:33
2006.02.05
Каким образом можно работать из delphi с полем clob БД Oracle


2-1137473993
qwe
2006-01-17 07:59
2006.02.05
Stringgrid




   Наверх