Klassenprogrammierung
27.09.2005 07:59:32
zink
ich schreibe gerade zur Übung eine Klasse mit Routinen zum Handling von (zunächst eindimensionalen) Datenfeldern (Arrays).
Der Einfachheit halber hier ein Auszug:
' Klasse: clsArray, Methode Delete
Public
Sub Delete(ByRef FeldA as Variant, iPosition as Long)
' hier folgen die Anweisungen für das Löschen eines Feldinhaltes
' durch Zwischenspeichern und Umkopieren
End Sub
' Standardmodul: Aufruf
Sub Test
Dim Feld() as Variant, i as Long
For i=1 to 10: Feld(i) = i : Next i
' Feldwert mit Index 5 löschen
Dim objArray as clsArray
Set objArray = New clsArray
objArray.Delete Feld,5
End Sub
So weit so gut.
Was mir nicht gefällt ist, dass man das Array immer als Parameter übergeben muss. Viel schöner wäre es, wenn es gelänge, das Array, das ja ein Objekt im Speicher darstellt, auch als Objekt zu referenzieren.
Also Irgendwie so:
Set myArray = Adresse von Feld
Dann wäre die Schreibweise viel intuitiver:
myArray.Delete 5
- ohne Parameterübergabe (die Delete-Methode muss ich natürlich umschreiben...)
Meine Frage: Gelingt es irgendwie, ein vereinbartes und im Speicher stehendes Array als Objekt via >> Set myArray = irgendwas zu definieren,
so dass ein Objekt-Verweis auf das Array entsteht?
Ich hoffe, ich hab mich einigermaßen verständlich ausgedrückt.
Danke und Grüße
Joachim