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].
©2006 XProfan.Com