Fehler ...invalid directory Handle

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

Rallimen

Sieger des 30-EUR-Wettbewerbs

Betreff: Fehler ...invalid directory Handle

BeitragMi, März 31, 2004 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
arbeite mich gerade in BlitzPlusDemo ein, aber habe da schon ein Problem!
Beim einlesen von Verzeichnissen bekomme ich diese Fehlermeldung
aber nur wenn ich versuche direckt auf C:\ zuzugreifen
...invalid directory Handle

bei richtigen Verzeichnissen geht das aber ohne Probleme
und in BB2D geht alles! auch in C:\
Hier erst mal der Code... da wo der Fehler kommt ist markiert!
Ich glaube allerdings das der Bug in BlitzPlus liegt , da es sich noch um die V1.11 handelt!
Oder mach ich da was falsch...bzw geht das in BB+ nicht so..Code: [AUSKLAPPEN]
Startwindow = CreateWindow("DIR SCAN Test",100,100,300,300)
Type Daten
Field Name$, Wo$
End Type
DirScan("c:\Eigene Dateien\")
WaitMouse
DirScan("c:\")
;------------------------------------------------------------------------------
Function DirScan(Pfad$);liest  alle Bildtypen .JPG aus, inclusive Unterordner
   olddir$ = CurrentDir()
   ChangeDir (Pfad$)
   
   Ordner = ReadDir (CurrentDir())
   
   Repeat
      Bild$ = NextFile (Ordner) ; <<<<<<<<<<<<<<<<<<<<<< Fehler wenn C:\
      If Bild$  = "" Then Exit
         If FileType(CurrentDir()+Bild$) = 2 Then
         If Bild$  <> "." And Bild$  <> ".." Then
            DirScan(CurrentDir()+Bild$) ;<<<<<< Rekursiv
         End If
      Else
      ;------------------------------------------------------------------
      ; was suchen wir den......
         If Upper$ (Right$(bild$,3)) = "JPG"  Then
            Datei.Daten   =   New Daten
            Datei\Name$ =   bild$
            Datei\Wo$   =   CurrentDir()
            DebugLog Datei\Wo$ +   Datei\Name$
      ;Daten werden im Debugfenster ausgegeben
      ;------------------------------------------------------------------
         End If
      End If
   Forever
   CloseDir (Ordner)
   ChangeDir (olddir$)
End Function
;------------------------------------------------------------------------------
[BB2D | BB3D | BB+]

Slayer

BeitragMi, März 31, 2004 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Fenster=CREATEWINDOW (Text$, X, Y, Breite, Höhe [,Gruppe] [,Style])
Hi, ich Denke das hier der Fehler liegt

Code: [AUSKLAPPEN]
Startwindow = CreateWindow("DIR SCAN Test",100,100,300,300)


muss heisen

Code: [AUSKLAPPEN]
Startwindow = CreateWindow("DIR SCAN Test",100,100,300,300,0)


Die "0" ist das Handle für Startwindow.

Schau noch mal in der hilfe denn Befehl "Createwindow" an Wink

cu.
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version

D2006

Administrator

BeitragMi, März 31, 2004 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
zu deinem Readdir() problem:

ist glaub ich ein Bug von B+, wurde aber schon behoben.

Version (B+) hat Folgendes geschrieben:

***** V1.21 *****
Fixed missing trailing '\' from CurrentDir$(). Again.


würdest du statt:
Code: [AUSKLAPPEN]

ChangeDir(Pfad$)
Ordner = ReadDir(CurrentDir$())

das hier:
Code: [AUSKLAPPEN]

Ordner = ReadDir(Pfad$)

schreiben, müsste es gehen und du sparst Code.
Kann mich auch irren, weil ich Version 1.37 habe.

MfG

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, März 31, 2004 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Slayer:
Am fenster liegt es nicht (habs getestet) ,
das hatte ich eigendlich nur geöffnet, um mit waitmouse zu arbeiten, da es sonst nicht geht!

D2006: das mit dem Bug hatte ich mir schon gedacht...
das kürzen des Code geht da nicht so einfach,
weil ich dann alles andere auch ändern müßte, da es ja rekursiv alle Ordner durchgeht!

Danke!!!
[BB2D | BB3D | BB+]

D2006

Administrator

BeitragMi, März 31, 2004 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
gut, dann kannst du ja einfach prüfen, ob CurrentDir() am Ende ein "\" hat und wenn nicht, dann fügst du eins hinzu.

MfG

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, März 31, 2004 23:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das hab ich schon vorher getestet
debuglog currentdir()
gibt C:\ aus
ist ja schon richtig mit backslash, wie bei Unterordnern auch.
...aber Das Problem liegt ja nicht direkt am currentdir
sondern tritt bei nextfile auf , wobei ich nicht ausschliessen kann ob es damit evt. auch zusammen hängt.

Hast du oder jemand anderes denn mal den code getestet, unabhängig ob da jetzt bilder vorhanden sind oder nicht.
Denn wenn es bei Euch ohne Fehlermeldung geht ist es devinitiv ein Bug!
MfG
Ralf
[BB2D | BB3D | BB+]

D2006

Administrator

BeitragMi, März 31, 2004 23:47
Antworten mit Zitat
Benutzer-Profile anzeigen
keine fehlermeldung.
MfG

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group