PB.Ex FTP (Windows)
Re: PB.Ex FTP (Windows)
Vielen Dank für das Feedback.
Da ich demnächst im Urlaub bin, werde ich es mir nach dem Urlaub anschauen.
Da ich demnächst im Urlaub bin, werde ich es mir nach dem Urlaub anschauen.
Re: PB.Ex FTP (Windows)
<ot> einen schoenen urlaub wuensche ich dir, rsbasic. </ot>
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Re: PB.Ex FTP (Windows)
Sorry für die späte Antwort.Stefou hat geschrieben:Bei der Verwendung habe ich ein Problem festgestellt:
Das Programm stürzt ab, wenn ich eine Dateiänderung an einer nicht vorhandenen Datei vornehme.
Ich wünsche dir einen schönen Tag
Code: Alles auswählen
If OpenFTPEx(1, #PBEx_FTP_Protocol_FTPS_Explicit, ftp$, 21, log$, pass$, #PB_UTF8, @ErrorOutput$) ; "courriers_sans_revue" result = SetFTPDirectoryEx(1, "Verzeichnis nicht vorhanden", @ErrorOutput) ;-----> Error If ExamineFTPDirectoryEx(1, @ErrorOutput$) While NextFTPDirectoryEntryEx(1, @ErrorOutput$) FTPDirectoryEntryNameEx(1, @FileName$, @ErrorOutput$) Debug FileName$ Wend EndIf CloseFTPEx(1, @ErrorOutput$) Else Debug ErrorOutput$ EndIf
Ich habe versucht, nachzustellen. Den Fehler kann ich nicht nachstellen. Das Programm stürzt nicht ab.
Mir ist aber aufgefallen, dass die Fehlerbeschreibung in deinem Code in die Variable ErrorOutput geschrieben wird. Ist bei dir die Variable ErrorOutput eine Zeichenkette/String oder eine Ganzzahl?
Wenn ich bei mir ErrorOutput als Ganzzahl definiere, dann kann ich den Absturz nachstellen. Ich denke mal, du hast entweder $ vergessen oder beim Definieren der Variable ".s" vergessen.
Wichtig ist auch, dass du die Zeichenkette entweder mit "" (ist aber nur auf eine bestimmte Anzahl an Zeichen begrenzt) oder mit Space() initialisierst, sonst ist die Adresse deiner Variable, die du übergibst, gleich 0.
Re: PB.Ex FTP (Windows)
Sorry für die späte Antwort. Ich habe versucht, nachzustellen und ich vermute mal, es liegt daran, dass dein Code etwa so aufgebaut war:RalfP hat geschrieben:Kleiner Schönheitsfehler:
OpenFTPEx() funktioniert (bei mir jedenfalls) mit #PB_Any nicht. Kann das jemand bestätigen? Es geht aber wunderbar wenn eine feste Nummer vergeben wird.
Code: Alles auswählen
Result = OpenFTPEx(#PB_Any, #PBEx_FTP_Protocol_SFTP, "test.rebex.net", 22, "demo", "password", #PB_UTF8, @ErrorOutput$)
If Result
;...
Else
Debug ErrorOutput$
EndIf
Wenn du danach nur If Result abfragst, dann wird dein Code nicht ausgeführt, weil die If-Bedingung falsch ergibt. 0 bedeutet in diesem Fall nicht "Fehler", sondern die ID 0, die du für die FTP-Funktionen benutzen kannst.
Re: PB.Ex FTP (Windows)
Hallo RSBasic,
Du vermutest richtig. Ich danke Dir für die Erklärung. Da wäre ich alleine vermutlich nie darauf gekommen.
Wenn OpenFTPEx() mit #PB_Any beim ersten erfolgreichen Anwenden "0" zurückgibt UND bei einem Fehler ebenfalls "0" zurückgibt, ist der zurückgelieferte Wert nicht geeignet zwischen einem erfolgreichen und einem erfolglosen Verbindungsversuch zu unterscheiden. Wenn man #PB_Any verwenden will, müsste man ErrorOutput$ auswerten.
Ich werde mich auf die Vergabe fester Nummern beschränken, das ist am einfachsten.
Viele Grüße
Du vermutest richtig. Ich danke Dir für die Erklärung. Da wäre ich alleine vermutlich nie darauf gekommen.
Wenn OpenFTPEx() mit #PB_Any beim ersten erfolgreichen Anwenden "0" zurückgibt UND bei einem Fehler ebenfalls "0" zurückgibt, ist der zurückgelieferte Wert nicht geeignet zwischen einem erfolgreichen und einem erfolglosen Verbindungsversuch zu unterscheiden. Wenn man #PB_Any verwenden will, müsste man ErrorOutput$ auswerten.
Ich werde mich auf die Vergabe fester Nummern beschränken, das ist am einfachsten.
Viele Grüße
Re: PB.Ex FTP (Windows)
Hallo RSBasicRSBasic hat geschrieben:Vielen Dank für das Feedback. :)
Da ich demnächst im Urlaub bin, werde ich es mir nach dem Urlaub anschauen.
Du hast bestimmt mit deinen anderen Projekten genug zu tun, aber ist es denn sinnvoll auf ein Upgrade bzgl. "FTPProgressEx" zu hoffen, oder funktioniert das grundsätzlich mit deiner DLL nicht (z.B. weil das .NET Framework das nicht hergibt)? Ich frage, weil ich ein FTP-Programm in der Pipeline habe, und dafür gerne deine Bibliothek einsetzen möchte. Aber ohne Fortschrittbalken ist das FTP-Programm schlecht zu gebrauchen. Und um den Datenfluss irgendwie anders "live" zu messen fehlt mir die Erfahrung.
Viele Grüße
Re: PB.Ex FTP (Windows)
Ich kann mir das mal später anschauen.
Re: PB.Ex FTP (Windows)
PB.Ex FTP 1.0.4.0 wurde veröffentlicht.
Changelog:
Erledigt
Changelog:
- Hinzugefügt: FTPProgressEx()
- Erweitert: ReceiveFTPFileEx(): Parameter "IsAsynchron" wurde hinzugefügt.
- Erweitert: SendFTPFileEx(): Parameter "IsAsynchron" wurde hinzugefügt.
- Geändert: Systemvoraussetzungen: .NET Framework 4.0 -> .NET Framework 4.5, weil die benötigte Assembly System.Progress erst ab 4.5 gibt.
- Geändert: OutputError$ muss vor dem Übergeben mit 128 Zeichen reserviert werden. Maximale Länge der Rückgabe beträgt 128 Zeichen einschließlich des NULL-Zeichens.
- Geändert: OutputError$: Dieser Parameter ist jetzt optional und kann 0 sein.
Erledigt
Re: PB.Ex FTP (Windows)
@RSBasic
Das ist super!
Ich werde das für mein FTP-Programm nutzen, das ich, in neuem Thema, hier dann auch veröffentlichen werde.
Das ist super!
Ich werde das für mein FTP-Programm nutzen, das ich, in neuem Thema, hier dann auch veröffentlichen werde.