version=1.1.0
vdate=19.10.2015
fname=udf_ref.bas
ns=%NAMESPACE%
fpath=/vba/functions
====== [VBA] ref() ======
//Es gibt anwendugsfälle bei denen man nicht weissob, ob die Übergabevariable ein Objekt oder eine einfach Variable ist. ref() handelt im Gegensatz zu = das selber.//
==Version %%version%%%%==
{{%%fname%%|Download %%fname%% (V-%%version%%)}}
===== Beschreibung =====
Die Funktion ref() verwedne ich häufig in grösseren Funktionen/Klassen, bei denen die Methoden flexibel sind. Zum Beispiel bei [[vba:functions:print_r:index]] und bei [[vba:classes:iterator:index]]
===== Beispiele =====
Das Beispiel so macht wenig Sinn. Es zeigt nur wie die Funktion angewendet wird
Eine Methoden in einer Klasse, die eine Variable entgegen nehmen
Private myItem As Variant
'Wie wissen hier nicht, ob ein Objekt oder ein anderer Datentyp daherkommt
Public Sub setItem(ByRef iItem As Variant)
ref myItem, iItem
End Sub
Public Property Get tName() As String
tName = TypeName(myItem)
End Property
Test
Dim fso As New FileSystemObject
Dim cl As new MyClass
cl.setItem fso
debug.print cl.tName
===== Code =====