ExamineFTPDirectory führt zum Absturz wenn das Verzeichnis leer ist
Verfasst: 23.04.2025 19:30
Hallo,
bei mir stürzt der Befehl ExamineFTPDirectory() immer ab, wenn das Verzeichnis auf dem Server keine Dateien enthält. Das ist nicht nur bei dem Testserver "ftp.free.fr" so, sondern auch bei anderen von mir getesteten Severn (Hetzner, Ionos, ...). Um herauszufinden, ob ein Verzeichnis leer ist führt aber, wenn ich das richtig sehe, kein Weg an dem Befehl vorbei, oder?
Fehlermeldung: Ungültiger Speicherzugriff. (Lesefehler an der Adresse 0)
Ich denke nicht, dass es etwas mit dem von HW-SW-Tüftler geschilderten Bug mit ExamineFTPDirectory() zu tun hat, deshalb dieser neue Thread.
Hier mein Test-Programm:
Meine Konfiguration:
; PB-Version: PureBasic 6.20 (Windows - x64)
; PB-Version: PureBasic 6.21 Beta 6 (Windows - x64)
; OS: Windows 8.1 64 Bit
; Compilereinstellungen:
; [ ] Unicode-Executable erstellen
; [ ] Thread-sicheres Executable erstellen
; [ ] OnError-Unterstützung einschalten
; [x] Moderne Themen-Unterstützung aktivieren (für Windows XP und höher)
; [ ] Administrator-Modus für Windows Vista und höher anfordern
; [ ] User-Modus für Windows Vista und höher anfordern (keine Virtualisierung)
; Library Subsystem: -
Kann das jemand reproduzieren?
Grüße an alle
Ralf
bei mir stürzt der Befehl ExamineFTPDirectory() immer ab, wenn das Verzeichnis auf dem Server keine Dateien enthält. Das ist nicht nur bei dem Testserver "ftp.free.fr" so, sondern auch bei anderen von mir getesteten Severn (Hetzner, Ionos, ...). Um herauszufinden, ob ein Verzeichnis leer ist führt aber, wenn ich das richtig sehe, kein Weg an dem Befehl vorbei, oder?
Fehlermeldung: Ungültiger Speicherzugriff. (Lesefehler an der Adresse 0)
Ich denke nicht, dass es etwas mit dem von HW-SW-Tüftler geschilderten Bug mit ExamineFTPDirectory() zu tun hat, deshalb dieser neue Thread.
Hier mein Test-Programm:
Code: Alles auswählen
If OpenFTP(0, "ftp.free.fr", "anonymous", "")
If ExamineFTPDirectory(0)
While NextFTPDirectoryEntry(0)
Debug FTPDirectoryEntryName(0)
Wend
FinishFTPDirectory(0)
EndIf
; funktioniert: pub, stats, mirrors, MPlayer
; schmiert ab: tmp, nzb, awstats
; fehlende Rechte: lost+found
SetFTPDirectory(0, "tmp") ; <- hier einsetzen
Debug ""
Debug "Bin im Ordner: " + GetFTPDirectory(0)
Debug ""
If ExamineFTPDirectory(0) ; und hier fliegt er raus
While NextFTPDirectoryEntry(0)
Debug FTPDirectoryEntryName(0)
Wend
FinishFTPDirectory(0)
EndIf
CloseFTP(0)
Else
Debug "Keine Verbindung zu ftp.free.fr"
EndIf
; PB-Version: PureBasic 6.20 (Windows - x64)
; PB-Version: PureBasic 6.21 Beta 6 (Windows - x64)
; OS: Windows 8.1 64 Bit
; Compilereinstellungen:
; [ ] Unicode-Executable erstellen
; [ ] Thread-sicheres Executable erstellen
; [ ] OnError-Unterstützung einschalten
; [x] Moderne Themen-Unterstützung aktivieren (für Windows XP und höher)
; [ ] Administrator-Modus für Windows Vista und höher anfordern
; [ ] User-Modus für Windows Vista und höher anfordern (keine Virtualisierung)
; Library Subsystem: -
Kann das jemand reproduzieren?
Grüße an alle
Ralf