Seite 1 von 1

Problem mit NextDirectoryEntry

Verfasst: 02.02.2008 22:36
von John Doe
Hallo an alle,
ich habe ein Problem mit dem Untersuchen von Verzeichnissen.
Directory$ = "A:\"
If ExamineDirectory(0, Directory$, "*.*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
Type$ = " [File] "
Else
Type$ = " [Sub-Dir] "
EndIf

Debug DirectoryEntryName(0) + Type$ + "- Größe in Bytes: " + Str(DirectoryEntrySize(0))
Wend
FinishDirectory(0)
EndIf
Wenn ich diesen Code auf einem Diskettenlaufwerk mit einer leeren Diskette anwende, um mir den Inhalt anzeigen zu lassen, bringt Purebasic mir den Fehler 'invalid memory access. (read error at address 39)
Beim Zugriff auf die Festplatte; auch wenn sie leer ist, ist dies nicht der Fall.

Wo kann der Fehler liegen ?

Verfasst: 02.02.2008 22:56
von mardanny71
Ich habe keinen Fehler.Der Code läuft auf leerer Diskette wie erwartet einfach durch oder wenn Dateien darauf sind, listet er Sie.
Dateisystem ist Fat.

Vielleicht ist die Dikette sehr alt oder falsch formatiert.

gruss
mardanny71

Verfasst: 02.02.2008 23:01
von John Doe
Die Diskette wurde ebenfalls mit FAT formatiert - das ganze läuft unter Windows NT.
Der Fehler tritt auf in der Zeile 'While NextDirectoryEntry(0)'
Ich habe die Diskette erneut formatiert - keine Fehler - die Diskette ist in Ordnung.
Der Fehler tritt aber immer noch auf.

Verfasst: 06.02.2008 12:05
von Shardik
Ich kann den beschriebenen Fehler mit Deinem Programm und mit einer leeren (frisch formatierten) Diskette unter Windows NT 4 SP 6 bestätigen. Unter WinXP Professional SP2 tritt der Fehler auf zwei getesteten Systemen nicht auf (ein PC mit eingebautem Diskettenlaufwerk und ein PC mit USB-Diskettenlaufwerk). Getestet habe ich jeweils mit PB 4.10. Du solltest diesen Fehler daher im englischen Forum unter "Bugs - Windows" melden.