[VB6] Alle Parameterwerte als String ausgeben

27/07/2010 - 10:46 von Stefan Dase | Report spam
Moin allerseits,

habe ich eigentlich in VB6/VBA die Möglichkeit, mir die Parameterwerte
eines Funktionsaufruf ausgeben zu lassen, ohne die Argumente einzeln
auszugeben?

Ich würde mir gerne den Aufruf einer Protokollfunktion vereinfachen,
indem ich nur noch eine generische Anweisung anstatt einer auf jeden
Funktion angepassten verwende.

Also anstatt folgendem Fall:

Public Sub Test(Param1, Param2, ...)

Debug.Print "Param1 = " & Param1 & ", Param2 = " & Param2 ...

End Sub

Würde ich gerne etwas in folgender Art verwenden:

Debug.Print getParamList

Vielen Dank für alle Hinweise,
Stefan
 

Lesen sie die antworten

#1 Heinz-Mario Frühbeis
27/07/2010 - 11:13 | Warnen spam
"Stefan Dase" schrieb ...
Moin allerseits,

habe ich eigentlich in VB6/VBA die Möglichkeit, mir die Parameterwerte
eines Funktionsaufruf ausgeben zu lassen, ohne die Argumente einzeln
auszugeben?

Ich würde mir gerne den Aufruf einer Protokollfunktion vereinfachen, indem
ich nur noch eine generische Anweisung anstatt einer auf jeden Funktion
angepassten verwende.

Also anstatt folgendem Fall:

Public Sub Test(Param1, Param2, ...)

Debug.Print "Param1 = " & Param1 & ", Param2 = " & Param2 ...

End Sub

Würde ich gerne etwas in folgender Art verwenden:

Debug.Print getParamList



Kein Problem... bei "eigenen" Funktionen, oder Sub's.

Public Function Test(byRef paramList() As String)
' Einmal in der Funktion ->
Dim i As Integer
For i = 0 To UBound(paramList)
' Dann kannst du noch
' varType nutzen,
' und IsNumeric,
' IsObject
' IsMissing, etc.
Next i
' oder :
' in einer Sub ->
' getParamList
End Function

Wenn du die Parameter optional angeben möchtest -> ByVal ParamArray

Public Sub getParamList ()
Dim i As Integer
For i = 0 To UBound(paramList)
' Dann kannst du noch
' varType nutzen,
' und IsNumeric,
' IsObject
' IsMissing, etc.
Next i
End Sub

Allerdings *einzeln* wird ein Parameter m. E. immer irgendwo angesprochen.

Private Sub CallTest()
Dim params(3) As String
params(0) = "Hallo"
params(1) = RGB(100, 200, 100)
params(2) = MyTextBox
params(3) = True
Call Test(params)
End Sub

Oder auch ->
http://www.google.de/#hl=de&sou...e897e4f9ac

Mit Gruß
Heinz-Mario Frühbeis

Ähnliche fragen