tecla
Erfahrenes Mitglied
Hallo zusammen
Ich bin ein VBA-Newbee und versuche auch in VBA Klassen zuerstellen.
Ich habe eine Klasse MyClass, die soll als Member ein Objekt vom Typ MemberClass haben. In MemberClass hat es ein paar String-Member drin:
Nun versuche ich die Klasse als globales Object zu befüllen und zu verwenden:
Und erhalte die Fehlermeldung, dass die Objekt-Variable nicht festgelegt sei. Ich kann auf die MemberClass vom Objekt oMyClass nicht zugreifen. Dabei wird ja die MemberClass im Konstruktor der MyClass neu instanziert und ihre Member mit Daten gefüllt....
Nun habe ich schon alle möglichen Varianten ausprobiert, findet jemand das Problem?
Vielen Dank! Tecla
Ich bin ein VBA-Newbee und versuche auch in VBA Klassen zuerstellen.
Ich habe eine Klasse MyClass, die soll als Member ein Objekt vom Typ MemberClass haben. In MemberClass hat es ein paar String-Member drin:
Code:
'****** Die MemberClass **************
Option Explicit
Dim mName As String
Dim mKurz As String
Dim mDBTest As String
Private Sub Class_Initialize()
mName = ""
mKurz = ""
mDBTest = ""
End Sub
Public Property Let Name(sName As String)
mName = sName
End Property
Public Property Get Name() As String
Name = mName
End Property
Public Property Let Kurz(sKurz As String)
mKurz = sKurz
End Property
Public Property Get Kurz() As String
Kurz = mKurz
End Property
Public Property Let DBTest(sDBTest As String)
mDBTest = sDBTest
End Property
Public Property Get DBTest() As String
DBTest = mDBTest
End Property
'****** Die MyClass**************
Option Explicit
Dim mMemberClass As New MemberClass
Public Property Let MemberClass (ByVal oMemberClass As MemberClass )
mMemberClass = oMemberClass
End Property
Public Property Get MemberClass () As MemberClass
MemberClass = mMemberClass
End Property
Private Sub Class_Initialize()
Set mMemberClass = New MemberClass
mMemberClass.Name = "Hinz"
mMemberClass.Kurz = "HZ"
mMemberClass.DBTest = "ja"
End Sub
Nun versuche ich die Klasse als globales Object zu befüllen und zu verwenden:
Code:
Option Explicit
Public oMyClass As New MyClass
Set oMyClass = New MyClass
MsgBox oMyClass.MemberClass.Name & " " & oMyClass.MemberClass.Kurz & " " & oMyClass.MemberClass.DBTest
Und erhalte die Fehlermeldung, dass die Objekt-Variable nicht festgelegt sei. Ich kann auf die MemberClass vom Objekt oMyClass nicht zugreifen. Dabei wird ja die MemberClass im Konstruktor der MyClass neu instanziert und ihre Member mit Daten gefüllt....
Nun habe ich schon alle möglichen Varianten ausprobiert, findet jemand das Problem?
Vielen Dank! Tecla