Hallo Stirni,
falls dieser Beitrag nicht richtig angezeigt wird, aktiviere dein JavaScript.
wenn du weißt, was Properties sind, dann ist deine Klasse schon etwas verwunderlich. Da stimme ich Sabina uneingeschränkt zu (außerdem kennt sie sich sowieso besser aus als ich).
Also, wenn du eine Funktion haben möchtest, die dir die Instanz deiner Klasse zurückgibt, dann kann das im Klassenmodul so aussehen:
Public Function getInstanz() As Team
Set getInstanz = Me
End Function
und im allgemeinen Modul dann so:
Sub trest()
Dim team1 As Team
Set team1 = New Team
team1.init "Team1"
Dim refTeam As Team
Set refTeam = team1.getInstanz()
Debug.Print refTeam.getName()
End Sub
Aber das ergibt überhaupt keinen Sinn... Du könntest ja direkt "set refTeam = team1" schreiben!
Soweit ich weiß kannst du nicht eine Klasse ansprechen und erwarten, dass sie alle Instanzen kennt.
Wenn du die Instanz suchst, deren Funktion (warum nicht Property?!) getName() "Team1" zurückgibt, dann benötigst du (zB im allgemeinen Modul) eine Liste aller Instanzen. Dafür würde sich eine Collection anbieten. Deren Items kannst du dann abklappern und nachschauen, welche die richtige ist.
Oder du programmierst die Klasse clsTeams, die deine Teams verwaltet. Dort implementiertst du die Methode getTeam( strTeamName as string). Diese Klasse könntest du zB als LinkedList programmieren (oder auch anders).
Soweit meine Meinung dazu - aber ich bin nicht so super erfahren im Umgang mit Klassen in VBA.
Grüße, Ulrich
|