Autor Thema: Dir$(....,8) liefer unterschiedliche Ergebnisse  (Gelesen 3813 mal)

Glombi

  • Gast
Dir$(....,8) liefer unterschiedliche Ergebnisse
« am: 21.10.04 - 14:45:55 »
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

« Letzte Änderung: 27.10.04 - 14:05:52 von Glombi »

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #1 am: 21.10.04 - 14:57:56 »
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.

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. ;)
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Glombi

  • Gast
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #2 am: 21.10.04 - 15:08:47 »
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.
« Letzte Änderung: 21.10.04 - 15:43:40 von Glombi »

Glombi

  • Gast
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #3 am: 27.10.04 - 14:03:11 »
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


Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #4 am: 27.10.04 - 14:14:13 »
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
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Glombi

  • Gast
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #5 am: 27.10.04 - 14:22:20 »
Insgesamt scheint das noch nicht so richtig ausgereift zu sein, fürchte ich.

Andreas

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #6 am: 27.10.04 - 14:28:43 »
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
Dein System ist Windows XP? Dann eine Beschwerdemail an salzamt@microsoft.at.  IBM/Lotus kann hier nix dafuer, das ist ein XP-"Feature".

Du kannst aber XPs Verhalten, ZIP-Files als Ordner anzusehen mit
regsvr32 /u %windir%\system32\zipfldr.dll
deaktivieren. Dann sind es wieder "normale" Files.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #7 am: 27.10.04 - 15:03:58 »
Meine Schluss: Dir$(..., 8 ) ist buggy.
Buggy wuerde ich nicht sagen, eher "Broken as Designed". Schliesslich verhaelt es sich ja wie dokumentiert.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #8 am: 27.10.04 - 15:24:00 »
@m3
Mit dem blöden System war nicht notwendigerweise Domino gemeint. Das dies ein Zusammenspiel von XP und Domino ist war mir dann klar, als die gleiche Routine auf einem 2000Pro Rechner korrekte Ergebnisse zurücklieferte. Trotzdem nervt das einfach, wenn etwas wie du so schön schreibst "broken as designed" ist.

Dier Workaround ist gut, die Frage ist halt nur bei welchen anderen FileTypen liefert er mir noch das selbe Ergebnis zurück?

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #9 am: 27.10.04 - 15:49:00 »
Zitat
@eknori:
Der Fehler tritt hier auf (CLASSAttachment):

Leider habe ich auch noch keine Lösung; werde mal sehen, wie ich den Code umstricken muß, damit es funzt. Eine API mehr oder Weniger in der Klasse machen den Kohl auch nicht mehr fett
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Glombi

  • Gast
Re: Dir$(....,8) liefer unterschiedliche Ergebnisse
« Antwort #10 am: 27.10.04 - 16:04:43 »
Wenn Du an den entsprechenden Stellen den Backslash weglaesst, geht es ja. Also so in etwa:

dim VolLabel as string
if Right$(drivNam,1) = "\" then
 VolLabel = strleft(drivName,"\")
else
 VolLabel = drivName
end if

IsDriveAvailable = (Dir$(VolLabel , 8 ) <> "")

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz