Delphi I/O Error 1874

Delphi I/O Error 1874
2008-03-27T17:20:39+01:00
2008-04-01T16:29:36+02:00
2022-11-08T13:50:39+01:00
molnarzoli2
Hello,

Az I/O Error 1874 hibáról szeretnék kérdezni.

Van egy ilyen programrész:

internetFile := 'http://192.168.100.1/'; localFileName := 'm.txt'; modemhtmlletoltes(internetFile, localFileName); assignfile(modemoldalfile,'m.txt'); reset(modemoldalfile); for i := 1 to 94 do read(modemoldalfile,c); read(modemoldalfile,c); closefile(modemoldalfile);

---

a meghívott procedure:


function TForm1.modemhtmlletoltes (const fileURL, FileName: String): boolean; //const // BufferSize = 8192; var hSession, hURL: HInternet; Buffer: array[1..8192] of Byte; BufferLen: DWORD; f: File; sAppName: string; begin result := False; sAppName := ExtractFileName(Application.ExeName) ; hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0) ; try hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0) ; try AssignFile(f, FileName) ; Rewrite(f,1) ; repeat InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen) ; BlockWrite(f, Buffer, BufferLen) until BufferLen = 0; CloseFile(f); result := True; finally InternetCloseHandle(hURL) end finally InternetCloseHandle(hSession) end end;

A probléma az, hogy amikor nincs hálózati kártya v. le van tiltva a hálózati kártya, ill úgy általában random esetekben előjön ez a 1784-es hiba.

Mit lehet tenni, hogy a probléma megoldódjon ? A program felépítése miatt nem szeretnék hálókártyát tesztelni a html letöltés előtt. Érdekesség, hogy 3 gépen néztem, amiben nincs hálókártya és Win Xp van rajta, ebből 2-nél előjött hiba, 1-nél viszont nincs ilyen probléma.

Előre is köszönön a válaszokat.
Mutasd a teljes hozzászólást!
Ez az egyszerű megoldés nem jó?
try ... except Result := False; end;


Egyébként ha a gépben nincs hálókárty, attól a rendszer még kezelhet hálózatot! Max csak a LocalHost-ot tudod elérni (127.0.0.1)... És én itt gyanítom a 3-ból 1 esetét... Ott fut valamilyen egyéb szolgáltatás, ami a másik kettőn nem!

Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd