Avatar billede martin_andersen Nybegynder
23. august 2002 - 11:37 Der er 5 kommentarer og
1 løsning

"InternetReadFile" - Korrupt data i buffer

Jeg benytter "InternetReadFile" til at hente en pdf-fil fra en server.

//--------------------
repeat
  ReadResult := InternetReadFile(hURL, @Buffer,SizeOf
                                (Buffer), BufferLen);
  BlockWrite(f, Buffer, BufferLen);
  Application.ProcessMessages;
until (BufferLen = 0);
//--------------------

9 ud af 10 gange bliver filen hentet ned korrekt og alle er glade.

Men... 1 ud af 10 gange er filen korrupt???

Jeg har prøvet at logge hvert kald til "InternetReadFile" og kan se at det korrekte antal bytes bliver hentet, men at det ikke er det korrekte data der står i bufferen.

Dette resultere ofte i at pdf-filen mangler en "trailer" og derfor ikke kan åbnes. Det skal dog siges at det ikke altid er det samme sted at filen er korrupt.

Hvad kan være årsagen til dette?
Avatar billede stoney Nybegynder
23. august 2002 - 11:43 #1
Avatar billede martin_andersen Nybegynder
23. august 2002 - 11:45 #2
Det er den jeg benytter...

Den virker ellers fint, bort set fra mit problem.
Avatar billede dkn Nybegynder
23. august 2002 - 12:30 #3
virker det første gang koden bliver kørt?
Avatar billede martin_andersen Nybegynder
23. august 2002 - 12:43 #4
Ja...

Jeg fandt først fejlen et par dage efter jeg havde implementeret funktionen. Der er ikke nogen mønster for hvornår den fejler og
hvordan virker. Som beskrevet ovenover, så sker det 1 ud af 10 gange.

Jeg kan ikke se at der skulle være noget galt med funktionen. Serveren giver mig pludselig en blok data, som ikke hænger sammen med det tidligere, eller som måske skulle være kommet på et andet tidspunkt.

Jeg har også observeret at der i enkelte tilfælde kan komme følgene html stregn i slutningen af den korrupte fil: <br> warning <br> Unlink failed....(sker ikke altid)
Avatar billede dkn Nybegynder
23. august 2002 - 14:03 #5
har du prøvet med en anden server?
Avatar billede martin_andersen Nybegynder
23. august 2002 - 14:12 #6
Nej.. ikke endnu
Det kunne være en ide
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester