VB6 - Klassen nutzen, wie?

Hallo

ich habe soeben meine erste Klasse in Visual basic 6 geschrieben. Sie beinhaltet Funktionen zur Soundsteuerung. Jetzt kann ich aber irgendwie nicht darauf zugreifen. Ich beschreib einfach mal, wie ich vorgegangen bin:

  1. Neues Projekt anlegen.
  2. Über das Projektmenü New Class Module… wählen
  3. Meine Klasse schreiben
  4. Meine Klasse umbenennen.

Wie greife ich jedoch jetzt auf die Metoden in der Klasse zu? Was muss ich machen, um meine Klasse verwenden zu können? Bitte Quellcode posten.

Vielen Dank schonmal im Voraus

Tschapajew

Hallo Tschapajew,

ich habe mir mal ein Beispiel für eine Klasse geschrieben die auch Ereignisse auslöst. (Events feuert)

Code für Form1:

'Das hier gehört in eine Form, die Form1 heißt.
'Auf die Form muß ein Timer 'Timer1' und ein Label 'Label1'.

Option Explicit
Private WithEvents SchedDay As Scheduler

Private Sub Form\_Load()
 Set SchedDay = New Scheduler
 Label1.Caption = "Nicht ausgelöst"
 Timer1.Interval = 1000
End Sub

Private Sub SchedDay\_ChangeText()
 Label1.Caption = "Ausgelöst"
End Sub


Private Sub Timer1\_Timer()
 Label1.Caption = "Nicht ausgelöst"
 Call SchedDay.Schedule(4)
End Sub

Code für das Klassenmodul:

'Das hier gehört in eine Klasse, die 'Scheduler' heißen muß!

Option Explicit
Public Event ChangeText()

Public Sub Schedule(ByVal Tg As Integer)
 Static Flag As Boolean
 If Flag = False Then
 If Weekday(Date, vbSunday) = Tg Then
 Flag = True
 RaiseEvent ChangeText
 End If
 Else
 If Weekday(Date, vbSunday) Tg Then
 Flag = False
 End If
 End If
End Sub

Wenig Code und ich denke, das Wesentliche ist erklärt.
Der Code ist getestet, läuft.

Gruß Rainer

Hallo Tschapajew,

das kommt darauf an, welchem Wert du der Instancing Eigenschaft gegeben hast!

Aber im Normalfall musst du eine Referenz auf die Klasse setzen und dann ueber diese auf die Klasse zugreifen.

Im Klartext

Dim Variable as [New] Deine Klasse

Wie du siehst habe ich mal das Schluesselwort NEW in eckigen Klammern geschrieben. Das hat diesen Grund, das es 2 Varianten gibt.

'Variante 1
Dim Variable as DeineKlasse
Set Variable=NEW DeineKlasse

oder Variante 2

Dim Variable as NEW DeineKlasse

'Eigenschaften setzen
Variable.DeineEigenschaft=DeinWert
'Eigenschaften lesen
DeinWert=Variable.DeineEigenschaft
'Function aufrufen
DeinWert=Variable.DeineFunction
'Methode aufrufen
Variable.DeineMethode

MfG Alex