![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
wininet - InternetFindNextFile - ERROR_IO_PENDING [D7, Win2k]
marat2 © (2004-03-16 14:36:00)Код следующий
hInternetOpen:= InternetOpen( 'DownLoad Updates',
INTERNET_OPEN_TYPE_PRECONFIG,
nil,
nil,
INTERNET_FLAG_ASYNC);
if Assigned(hInternetOpen) then
begin
hInternetConnect:= nil;
hInternetConnect:= InternetConnect( hInternetOpen,
'192.168.116.129',
INTERNET_DEFAULT_FTP_PORT,
'username',
'password',
INTERNET_SERVICE_FTP,
0,
0);
if Assigned(hInternetConnect) then
begin
hFindFile:= nil;
hFindFile:= FtpFindFirstFile( hInternetConnect,
'*.*',
Win32FindDataA,
INTERNET_FLAG_NEED_FILE,
0); // эта команда выполняется нормально
if Assigned(hFindFile) then
begin
repeat
ListBox1.AddItem(string(Win32FindDataA.cFileName), nil);
until not(InternetFindNextFile( hFindFile, @Win32FindDataA)); // здесь стабильно ошибка ERROR_IO_PENDING при первом же цикле выполнения
InternetCloseHandle(hFindFile);
end;
InternetCloseHandle(hInternetConnect);
end;
InternetCloseHandle(hInternetOpen);
Может кто знает в чем проблема - все хендлы порождаются и уничтожаются нормально все работает нормально во только из-за этой ошибки отображается только один файл с сервера - тот который с получен с помощью FtpFindFirstFile
maratik2 (2004-03-16 15:53:00) [1]2 Digitman
огромное спасибо - точно в цель - bingo
Digitman (2004-03-16 15:07:00) [2]ты же сам и указал флаг INTERNET_FLAG_ASYNC !
тем самым предполагаешь асинхронную работу ..
что ж ты хочешь ? ERROR_IO_PENDING как раз и сообщает тебе о том, что запущена фоновая операция по поиску очер.файла ...
читай внимательно
http://msdn.microsoft.com/library/en-us/wininet/wininet/calling_wininet_functions_asynchronously.asp