Czy ktos moze <ort>pomóc </ort>mi w rozwiazaniu problemu.
<ort>W podczas</ort> <ort>korzystanie </ort>z <ort>ponirzszej </ort>procedury pokazuje mi sie
"I/O Error 183"
procedure TMainForm.Download;
var
Buffer : array[1..1024] of Byte; // bufor zawierający ściągnięty fragment pliku
hSession, hURL : HINTERNET;
dwRead : DWORD; // ilość odczytanych danych
dwSize : DWORD; // rozmiar pliku
F : File;
pBuf : Pointer;
dwBufLen : DWORD;
dwIndex : DWORD;
TotalRead : Integer;
url:string;
broken:boolean;
begin
url:='http://www.parisnet5.piwko.pl/index.html';
FileName:='index.html';
{ otwieranie połączenia }
hSession := InternetOpen('Fast Download',
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
Application.ProcessMessages;
lblProgress.Caption := 'Łączenie z serwerem...';
btnDownload.Enabled := False;
try
{ otwarcie podanego adresu URL }
hURL := InternetOpenURL(hSession, PChar(URL), nil, 0, 0, 0);
Application.ProcessMessages;
lblProgress.Caption := 'Czekanie na odpowiedź...';
dwBufLen := 1024;
dwIndex := 0;
GetMem(pBuf, dwBufLen);
{ pobranie informacji na temat wielkości pliku }
HttpQueryInfo(hURL, HTTP_QUERY_CONTENT_LENGTH,
pBuf, dwBufLen, dwIndex);
dwSize := StrToInt(StrPas(pBuf));
ProgressBar.Max := (dwSize div 1024);
FreeMem(pBuf, dwBufLen);
try
AssignFile(F, FileName);
try
Rewrite(F, 1);
repeat
if Broken then Break;
{ pobieranie kolejnych fragmentów pliku }
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), dwRead);
BlockWrite(F, Buffer, dwRead); // zapisanie buforu do pliku
TotalRead := TotalRead + dwRead;
Application.ProcessMessages;
{ wyświetlenie postępu }
lblProgress.Caption := 'Ściągam ' + IntToStr(TotalRead div 1024) + ' kB z ' + IntToStr(dwSize div 1024) + ' kB';
ProgressBar.Position := TotalRead div 1024;
until dwRead = 0;
finally
CloseFile(F);
end;
finally
InternetCloseHandle(hSession);
end;
finally
InternetCloseHandle(hURL);
btnDownload.Enabled := False;
end;
lblProgress.Caption := 'Pobrano';
end;