FTPProgress() erreicht nie finished - BUG

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Sebastian
Beiträge: 322
Registriert: 14.06.2006 16:46
Wohnort: Kiel

FTPProgress() erreicht nie finished - BUG

Beitrag von Sebastian »

Ich spiele gerade mit den neuen FTP-Funktionen von PB und muss leider feststellen, dass FTPProgress nicht so arbeitet, wie ich es mir vorstelle. Der Wert -3 (also finished) wird nie erreicht. Die Datei wird heruntergeladen (sie ist 160 byte groß). Ich erhalte sie vollständig, dass habe ich überprüft. Es liegen die 160 byte auf meiner Platte, jedoch zeigt ftpprogress nur 159 byte an und erhält so den status "finished" nicht. Was läuft hier falsch?
Zuletzt geändert von Sebastian am 01.06.2008 13:23, insgesamt 1-mal geändert.
(Win 11 64-bit, PB 6.04 und 6.10)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

code wäre Hilfreich, denn ich hatte mit FTPProgress keine probleme.

Ich habe es in ein Thread geschmissen und dann erst weiter gemacht wenn der Thread beendet ist, also Until Result = #PB_FTP_Finished, von daher hat bei mir also geklappt
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Sebastian
Beiträge: 322
Registriert: 14.06.2006 16:46
Wohnort: Kiel

Beitrag von Sebastian »

Natürlich habe ich auch ein Code-Beispiel:

Code: Alles auswählen

OpenWindow(0,100,100,200,100,"FTP")
CreateGadgetList(WindowID(0))
TextGadget(0,0,0,200,100,"Datastream:")
If InitNetwork() = 0 : MessageRequester("Warnung", "Achtung!" + Chr(13) + "Die Netzwerkverbindung konnte nicht gestartet werden.") : EndIf
If OpenFTP(0,"home.arcor.de","max.mustermann","passworti") = 0 
 MessageRequester("Hinweis", "Der FTP-Server konnte nicht erreicht werden.")
EndIf
ReceiveFTPFile(0,"TEST.rtf","Datei.rtf",1)
While datastream <> #PB_FTP_Finished
 Delay(300)
 datastream = FTPProgress(0)
 SetGadgetText(0,"Datastream: " + Str(datastream))
Wend  
MessageRequester("Hinweis", "Abgeschlossen")

End
(Win 11 64-bit, PB 6.04 und 6.10)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

hm habe ich 10 mal bei mir getestet und bekomme immer eine -3

kann den BUG also nicht bestätigen
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

im englischen Forum ist das auch schon aufgefallen:

http://www.purebasic.fr/english/viewtopic.php?t=31942

leider kann Fred das anscheinend nicht nachvollziehen, denn ansonsten
wäre das schon gefixt worden.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

FT von PB ist zZ eh etwas schwammig, schließlich wird ja auch manchmal die Verbindung getrennt wenn man das Verzeichnis auslesen will...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Sebastian
Beiträge: 322
Registriert: 14.06.2006 16:46
Wohnort: Kiel

Beitrag von Sebastian »

Och Menno.... ich habe mir die Einträge im engl. Forum angesehen. Du hast recht, Kiffi! Da steht exakt der Fehler beschrieben, den ich hier auch vorfinde. Das ist echt blöd, weil ich mich sehr über die Bibliothek gefreut habe.
Die einzige Chance, die ich derweil sehe ist: die Größe der Datei ermitteln, übertragen und überprüfen ob ftpprogress + 1 = der Filegröße ist. Dann weiß ich, dass die Übertragung funktioniert hat.
Seht ihr eine bessere Lösung (die einfach ist, denn ich bin Anfänger -> also bitte nicht API oder so...)
(Win 11 64-bit, PB 6.04 und 6.10)
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Sebastian hat geschrieben:Och Menno.... ich habe mir die Einträge im engl. Forum angesehen. Du hast recht, Kiffi! Da steht exakt der Fehler beschrieben, den ich hier auch vorfinde. Das ist echt blöd, weil ich mich sehr über die Bibliothek gefreut habe.
Die einzige Chance, die ich derweil sehe ist: die Größe der Datei ermitteln, übertragen und überprüfen ob ftpprogress + 1 = der Filegröße ist. Dann weiß ich, dass die Übertragung funktioniert hat.
Seht ihr eine bessere Lösung (die einfach ist, denn ich bin Anfänger -> also bitte nicht API oder so...)
Öhm ... ich hab das so verstanden, dass bei der übermittelten datei das
letzte Byte fehlt. Somit wäre aktuell überhaupt keine übertragung möglich.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Sebastian
Beiträge: 322
Registriert: 14.06.2006 16:46
Wohnort: Kiel

Beitrag von Sebastian »

Nein. Erstaunlicherweise wird die Datei komplett übertragen. Nur die Rückmeldung an FTPProgress scheint zu fehlen.
(Win 11 64-bit, PB 6.04 und 6.10)
Benutzeravatar
Sebastian
Beiträge: 322
Registriert: 14.06.2006 16:46
Wohnort: Kiel

Beitrag von Sebastian »

Das Hochladen funktioniert übrigens, wie ich gerade erstaunt feststellen durfte...
(Win 11 64-bit, PB 6.04 und 6.10)
Antworten