Verwenden von Ereignissen mit den FlexPro-Objekten
Um eine Ereignisroutine für ein Ereignis eines FlexPro-Objekts zu erstellen, müssen die folgenden drei Schritte ausgeführt werden:
1.Deklarieren Sie eine Objektvariable in einem Klassenmodul, damit auf die Ereignisse geantwortet wird.
2.Schreiben Sie die spezifischen Ereignisprozeduren.
3.Initialisieren Sie das deklarierte Objekt aus einem anderen Modul.
Deklarieren der Objektvariable
Bevor Sie Prozeduren für die Ereignisse eines FlexPro-Objekts schreiben können, muss ein neues Klassenmodul erstellt und ein Objekt vom gewünschten Typ (z. B. FpObject) mit Ereignissen deklariert werden. Angenommen, ein neues Klassenmodul wird mit dem Namen "EventClassModule" erstellt. Das neue Klassenmodul enthält den folgenden Code:
Public WithEvents oObject As FpObject
Schreiben von Ereignisprozeduren
Nachdem das neue Objekt mit Ereignissen deklariert wurde, erscheint es in dem Dropdown-Listenfeld Objekt im Klassenmodul, und Sie können Ereignisprozeduren für das neue Objekt schreiben. (Wenn Sie das neue Objekt im Feld Objekt markieren, werden die gültigen Ereignisse für das Objekt im Dropdown-Listenfeld Prozedur aufgelistet.) Wählen Sie aus dieser Liste ein Ereignis aus. Es wird dem Klassenmodul eine leere Prozedur hinzugefügt.
Private Sub ObjectoObject_ObjectModified(ByVal Object As Object)
End Sub
Initialisieren des deklarierten Objekts
Bevor die Prozedur abläuft, muss eine Verbindung zwischen dem deklarierten Objekt im Klassenmodul "oObj" und dem FpObject-Objekt hergestellt werden. Diese Verbindung kann mit dem folgenden Code aus einem beliebigen Modul hergestellt werden:
Dim X As New EventClassModule
Sub Register_Event_Handler()
Set X.oObject = ActiveDatabase.RootFolder.Object("Formula.FML")
End Sub
Starten Sie die Prozedur "Register_Event_Handler". Nachdem die Prozedur ausgeführt wurde, verweist das oObj-Objekt im Klassenmodul auf das gewünschte FpObject-Objekt. Die Ereignisprozeduren im Klassenmodul werden dann ausgeführt, sobald die Ereignisse eintreten.