Verwenden von Ereignissen mit dem Application- oder Databases-Objekt

23.08.2021

Um eine Ereignisroutine für ein Ereignis des Application- oder Databases-Objekts zu erstellen, müssen die folgenden drei Schritte ausgeführt werden:

1.Deklarieren Sie eine Objektvariable in einem Klassenmodul, damit die Ereignisse beantwortet werden.

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 des Application- oder Databases-Objekts schreiben können, muss ein neues Klassenmodul erstellt und ein Objekt vom Typ Application bzw. Databases mit Ereignissen deklariert werden. Angenommen, ein neues Klassenmodul wird mit dem Namen "EventClassModule" erstellt. Das neue Klassenmodul enthält den folgenden Code:

Public WithEvents App As FlexPro.Application

bzw.

Public WithEvents Databases As FlexPro.Databases

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 App_DatabaseModified(ByVal Database As Object)

End Sub

oder

Private Sub Databases_BeforeDatabaseClose(ByVal Database As Object)

End Sub

Initialisieren des deklarierten Objekts

Bevor die Prozedur abläuft, muss eine Verbindung zwischen dem deklarierten Objekt im Klassenmodul ("App" oder "Databases" in diesem Beispiel) und dem Application- bzw. Databases-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.App = FlexPro.Application

    Set X.Databases = FlexPro.Databases

End Sub

Starten Sie die Prozedur "Register_Event_Handler". Nachdem die Prozedur ausgeführt wurde, verweist das App-Objekt im Klassenmodul auf das Application-Objekt von FlexPro und das Databases-Objekt entsprechend auf das Databases -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