X11B15: DownloadFile-Problem



X11B15: DownloadFile-Problem

David Strutz, 08.03.2008 01:34: Der Code läd ein Byte zu viel und meldet in &bytesRead auch ein Byte zu viel.
Dazu kommt, dass wenn man in der Whileschleife das Auskommentierzeichen entfernt, dass das Programm in der Schleife hängen bleibt.

cls
print http.get("http://xprofan.com/getappversionfromfile.core?id=38357")
print &bytesRead
waitkey
end
proc http.get
   parameters url$
   casenot downloadFile(url$) : return ""
   while %loading
      'locate 1,1
      'print &getTickCount
   endwhile
   return $Download
endproc


RGH, 08.03.2008 13:35: Das kann ich alles nicht nachvollziehen:
Sowohl im Interpreter als auch kompoiliert läuft das Prohramm bei mir völlig problemlos und bleibt auch bei auskommentierten Locate- und Print-Zeilen nicht hängen.
&BytesRead hat bei Ausgabe den Wert 4. Inwiefern das stimmt, kann ich nicht beurteilen. Wenn ich Dateien bekannter Grösse von xprofan.de lade, ist &BytesRead korrekt.
Gruss
Roland


David Strutz, 08.03.2008 15:32: Und wenn Du mal die meinige Exe zum Text probierst? (unten als Anhang)
Ich habe auch einen Screenshot beigelegt - die Ausgabe passt nicht zum Source.
Das &bytesRead nicht stimmt habe ich falsch gemeldet - &bytesRead gibt korrekt 4 aus.
$download jedoch hat hinten eine "0" dran - und das Print gibt zwei Zeilen aus.
Wenn Du Die URL einfach mal im Browser lädst: [...] dann siehst Du das lediglich momentan "3.75" zu laden wäre, also 4 Byte, und nicht "3.750", und nicht "3.750\n\n3.750" was dieses Print im Beispiel bei mir jedoch ausgibt.
Benutze ich die kleine download.inc so erhalte ich das gewünschte Ergebnis.

cls
print http.get("http://xprofan.com/getappversionfromfile.core?id=38357")
waitkey
end
proc http.get
   parameters url$
   casenot downloadFile(url$) : return ""
   while %loading
      'locate 1,1
      'print &getTickCount
   endwhile
   return $Download
endproc


http.exe

Zwischenablage01.png


RGH, 08.03.2008 20:18: Ok, beim Rückgabestring war tatsächlich noch ein Bug. In der nächsten Subscriptionsversion ist auch das behoben und es kommt tatsächlich nur "3.75" an.
Gruss
Roland


David Strutz, 09.03.2008 12:35: Ok, mit der (dann) neuen Version probiere ich auch diese Schleife nochmals


while %loading
   locate 1,1
   print &getTickCount
endwhile
und hoffe, dass diese nicht wie bei mir mit B15, nicht verlassen wird.


Dies ist die Offlinevariante vom Thread [X11B15: DownloadFile-Problem].

Valid CSS!

©2006 XProfan.Com