Verwenden von Ereignissen mit den FlexPro-Objekten

23.08.2021

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.

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren