Hallo, ich versuche aus einer form Main auf eine Eigenschaft, die zwei Klassenebenen darunter liegt, zuzugreifen. Es gelngt aber nicht…
Voraussetzungen:
- Form: frmMain
- Klasse: clsObject1
- Klasse: clsObject2
- clsObject2 besitzt Eigenschaft varName und mArray
Ich erzeuge in frmMain clsObject1 und in clsObject1 wiederum clsObject2. clsObject2 bekommt die beiden Eigenschaften durch property get/let.
frmMain:
Dim Object1 As clsObj1
Set Object1 = New clsObj1
Dim Object2 As clsObj2
Set Object2 = New clsObj2
clsObj1:
Public Property Get varName As String
varName = lkl\_varName
End Property
Public Property Let varName(ByRef par\_Name As String)
lkl\_varName = par\_Name
End Property
Public Property Get Object2() As clsObj2
Object2 = lkl\_clsObj2
End Property
clsObj2:
Public Property Get varName() As String
varName= lkl\_Name
End Property
Public Property Let varName(ByRef par\_Name As String)
lkl\_Name = par\_Name
End Property
Public Property Get mArray() As Variant
mArray = lkl\_Array()
End Property
Public Property Let mArray(ByRef par\_Array As Variant)
lkl\_Array = par\_Array
End Property
Irgendwie stimmt aber die Freigabe nicht; weder die der varName noch die des mArray, denn ich kann aus frmMain nicht per
frmMain.Object1.Object2.varName
daraufzugreifen.
Wie muß ich Object2 freigeben, damit das geht? Ändert sich etwas an der Freigabe, wenn es sich um ein Array handelt, auf das ich zugreifen will? Etwa so:
frmMain.Object1(1).Object2(1).varArray
Vielen Dank.