Problem mit NextDirectoryEntry

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
John Doe
Beiträge: 57
Registriert: 02.01.2006 18:08

Problem mit NextDirectoryEntry

Beitrag 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 ?
Benutzeravatar
mardanny71
Beiträge: 266
Registriert: 05.03.2005 01:15
Wohnort: Thüringen

Beitrag 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
Gruß, mardanny71
Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
Benutzeravatar
John Doe
Beiträge: 57
Registriert: 02.01.2006 18:08

Beitrag 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.
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Beitrag 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.
Antworten