VBS: Problem mit Parameter-Übergabe

Von: , Frage gestellt am Di, 21. Nov 2000

Hallo,

bei unserem VB-Script treten (für uns) unerklärliche Dinge auf.

Wir haben eine kl. Routine, die lediglich eine Konstante definiert und dann eine andere aufruft und 2 Parameter mit übergibt.

---------------------------------------------
Sub ADSIEXTRAS_printacls()
' Konstanten bitte anpassen!
Const filepfad = "FILE://c:\temp\test.txt"
list_sd filepfad, "file"
End Sub
--------------------------------------

Die 2. Routine ruft mit dem übergebenen Parameter irgendeine Funktion "GetSecurityDescriptor" auf (fremde DLL, die ein Variant als Parameter erwartet). Und genau dieser Aufruf bricht mit einem schwerwiegenden Fehler ab:

-----------------------------------------
' ### Ausgabe eines SD
Sub list_sd(ByVal pfad, Typ)
Dim oSD
Dim oADSSEC
Dim oACL

' --- Instanz erzeugen
Set oADSSEC = CreateObject("ADsSecurity")
' --- Security Descriptor holen
Set oSD = oADSSEC.GetSecurityDescriptor(pfad)
MsgBox "----- Rechte auf " & pfad
End Sub
-----------------------------------------

Wenn wir aber in der "list_sd" eine Konstante (z.B. filepfad) mit demselben String definieren und die Funktion dann mit dieser Konstante aufrufen, funktioniert das Ganze:

------------------------------------------
' ### Ausgabe eines SD
Sub list_sd(ByVal pfad, Typ)
Dim oSD
Dim oADSSEC
Dim oACL

' --- Instanz erzeugen
Set oADSSEC = CreateObject("ADsSecurity")
' --- Security Descriptor holen
Const filepfad = "FILE://c:\temp\test.txt"
Set oSD = oADSSEC.GetSecurityDescriptor(filepfad)
MsgBox "----- Rechte auf " & pfad
End Sub

------------------------------------------

Was ist der Unterschied bzw. was müssen wir machen, damit wir die Funktion mit der übergebenen Variable aufrufen können ?

Für Eure Hilfe wären wir absolut dankbar und glücklich

Gruß
Regine + Eckhard

0 Antworten zu dieser Frage

    Keine passende Antwort gefunden? Jetzt eigene Frage stellen!