Форум: "Сети";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Внизwininet - InternetFindNextFile - ERROR_IO_PENDING Найти похожие ветки
← →
marat2 (2004-03-16 14:36) [0]Код следующий
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
← →
marat2 (2004-03-16 14:36) [0]Код следующий
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
← →
Digitman © (2004-03-16 15:07) [1]ты же сам и указал флаг INTERNET_FLAG_ASYNC !
тем самым предполагаешь асинхронную работу ..
что ж ты хочешь ? ERROR_IO_PENDING как раз и сообщает тебе о том, что запущена фоновая операция по поиску очер.файла ...
читай внимательно
http://msdn.microsoft.com/library/en-us/wininet/wininet/calling_wininet_functions_asynchronously.asp
← →
Digitman © (2004-03-16 15:07) [1]ты же сам и указал флаг INTERNET_FLAG_ASYNC !
тем самым предполагаешь асинхронную работу ..
что ж ты хочешь ? ERROR_IO_PENDING как раз и сообщает тебе о том, что запущена фоновая операция по поиску очер.файла ...
читай внимательно
http://msdn.microsoft.com/library/en-us/wininet/wininet/calling_wininet_functions_asynchronously.asp
← →
maratik2 (2004-03-16 15:53) [2]2 Digitman
огромное спасибо - точно в цель - bingo
← →
maratik2 (2004-03-16 15:53) [2]2 Digitman
огромное спасибо - точно в цель - bingo
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c