RaiseEvent bei Klassen mit Array

discoboy

Mitglied
Hallo zusammen...

Ich habe eine Klasse geschrieben die ich als Array so deklariere:

Code:
Public RecordsetAF(0 To 5) As clsRecordset

Code:
Private Sub Form_Load()

for x = 0 to 5
   Set RecordsetAF(x) = New clsRecordset
next x

end sub

Ich habe in meiner Klasse ein Event es ist so deklariert:
z.B.
Code:
Public Event RecordMoved(RecordNum As Long, oRecord As clsRecord)

Ich rufe es so auf:
Code:
RaiseEvent RecordMoved(RecPTR, colRS.Item(RecPTR))


In meinem Form kann ich jetzt etwas damit auslösen:
Code:
Private Sub RecordsetAF_RecordMoved(RecordNum As Long, oRecord As clsRecord)

text1.text = "abc"

end sub

Ich weiß aber nicht von welcher Klasse das Event kam. Also von welchem RecordsetAF(?)

Wenn ich mehrere Buttons auf mein Form ziehe und sie gleich benenne werden diese durch einen Index unterschieden:

Code:
Private Sub button_Click(Index As Integer)
end sub

kann ich so etwas auch bei meiner Klasse verwenden?


Code:
Private Sub RecordsetAF_RecordMoved(Index As Integer, RecordNum As Long, oRecord As clsRecord)

Wenn ja dann schreibt mir doch bitte wie das geht.

Vielen Dank
Mit Freundlichen Grüßen
 
Du brauchst dann eigentlich nur ne Property index
aber für mich sieht das im gesamten ziemlich umständlich aus was hast du denn vor?.

Ein Array von Klassen zu benutzen ist eigentlich eher ungewöhnlich in vb.

Grüsse bb
 
Wenn ich aber mehrere Buttons auf mein Form ziehe und sie gleich benenne mach ich doch nichts anderes.

Wenn ich mit property get arbeite hab ich das problem das ich keinen Index setzen kann weil er schreibgeschützt ist.

Code:
RecordsetAF(0).index = 0

Wie würdest du es machen?

MFG
 
Zurück