Domino 9 und frühere Versionen > Entwicklung

Dir$(....,8) liefer unterschiedliche Ergebnisse

(1/3) > >>

Glombi:
Hallo Notes-Gemeinde,
folgendes Problem taucht hier auf:

Auf allen PCs (lokal und Citrix) liefert
Dir$("x:\",8 ) <> ""
zurück, d.h. das Laufwerk X existiert.

Nur auf einem PC liefert
Dir$("x:\",8 ) = ""
zurück.
Aber mit
Dir$("x:",8 ) <> ""
ist es wieder korrekt. Warum hat denn der eine PC mit dem Backslash ein Problem  ???

Hat jemand das auch mal gehabt?

@eknori:
Der Fehler tritt hier auf (CLASSAttachment):
Private Function IsDriveAvailable(drivNam$) As Variant
'// Does Drive exists
'// Called by : Function IsPathAvailable, Function DetachAll
'// Calls : none
      On Error Resume Next
      IsDriveAvailable = (Dir$(drivNam , 8 ) <> "")
   End Function


drivNam ist hier = "x:\"

Andreas

m3:
Also die Online-Hilfe sagt:
--- Zitat ---On any platform except Windows (16, 9x, NT, 2000) if you ask for just the volume label you will get an empty string.
--- Ende Zitat ---

Ich wuerd daher eher ein ChDrive() machen und dann mit CurDrive() checken, obs geklappt hat, um zu testen, ob es das Drive gibt.

Oder mit zumindest mit Dir$("x:\*.*",8 ).

Das sind aber nur meine 2 Euro-Cent. ;)

Glombi:
Am Code will ich eigentlich nichts ändern, da es Fremdcode ist. Und es ist wohl an einigen Stellen dort.
Mich interessiert in erster Linie einmal warum identischer Code auf zwei PC unterschiedliche Ergebnisse liefert.
Das ganze auch noch unter Citrix, wo der einzelne also gar nicht soviel verstellen kann.

Andreas

Ergänzung: Der Fehler muss auf einem bestimmten Terminal Server verursacht werden. Soweit steht es mal fest.

Glombi:
Die Ursache ist gefunden:

Dir$(drivNam , 8 )
liefert "", wenn im Verzeichnis drivNam keine Datei sondern nur Unterordner liegen.

Workaround:  Dir$(drivNam , 16 )
verwenden.

Um zu prüfen, ob das Volume drivNam da ist, taugen beide Varianten nichts bzw. gleich viel, da immer der Fehler "Path not found" auftritt. Diesen kann man dann natürlich abfangen und weiss damit, ob das Verzeichnis exisitert.

Meine Schluss: Dir$(..., 8 ) ist buggy.

Andreas

Thomas Schulte:
dir$(..., 16) hat offensichtlich auch so seine Mäuse. Zumindest liefert er mir für Dateien mit der Endung ZIP als File Attribute ein "das ist ein Verzeichnis" zurück, womit man beim Parsen durch ein Verzeichnis wieder auf die alte Methode guck mal nach rechts ob da was steht angewiesen ist, um ein Verzeichnis von einer Datei unterscheiden zu können.

Blödes System,.

Thomas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln