Für Windows-Benutzer stellt jedes der verknüpfbaren FRE-Objekte Verbindungspunkte von zwei Typen bereit — einen mit einer Dispatch-Schnittstelle und einen mit einer von IUnknown abgeleiteten Schnittstelle. Die Dispatch-Schnittstelle ist für die automatische Verwendung in Visual Basic und ähnlichen Umgebungen vorgesehen, während die vtbl-basierte Schnittstelle für den Einsatz in C++ geeignet ist.
Dispinterfaces sind Windows-spezifisch.
| Objekt | Callback-Schnittstelle (Dispinterface) |
|---|---|
| FRDocument | IFRDocumentEvents (DIFRDocumentEvents) |
| FRPages | IFRPagesEvents (DIFRPagesEvents) |
| FRPage | IFRPageEvents (DIFRPageEvents) |
| ImageDocument | IImageDocumentEvents (DIImageDocumentEvents) |
Für Linux und macOS
Für Linux und macOS
Es gibt zwei globale Methoden zum Verbinden und Trennen der Verbindung mit der Benachrichtigungsquelle:Diese Methoden erwarten eines der verknüpfbaren Objekte als
object-Argument und die entsprechende Callback-Schnittstelle als callback-Argument.Sie müssen die erforderliche Schnittstelle implementieren und das die Schnittstelle implementierende Objekt bei den entsprechenden verknüpfbaren Objekten „registrieren”. Als Beispiel verwenden wir das FRDocument-Objekt.- Implementieren Sie die IFRDocumentEvents-Schnittstelle. Da sie von der IUnknown-Schnittstelle abgeleitet ist, muss das Client-Objekt auch die IUnknown-Methoden implementieren:
- Anschließend kann die CFRDocumentCallback-Klasse verwendet werden, um Benachrichtigungen vom FRDocument-Objekt zu empfangen. Registrieren Sie dieses Objekt bei der Benachrichtigungsquelle (Fehlerbehandlung wird der Übersichtlichkeit halber weggelassen):
Der Rest dieses Themas gilt für Benutzer von FRE für Windows.
Visual Basic .NET
Visual Basic .NET
Deklarieren Sie das verknüpfbare Objekt einfach mit
WithEvents und implementieren Sie die Methoden der entsprechenden Callback-Schnittstelle. Außerdem müssen Sie den dem Ereignis zugeordneten Ereignishandler explizit angeben.Für das FRDocument-Objekt ist die Vorgehensweise wie folgt:- Deklarieren Sie das FRDocument-Objekt mit
WithEvents:
- Implementieren Sie die erforderlichen Methoden der DIFRDocumentEvents-Dispatch-Schnittstelle in einer
Subähnlich der folgenden.
AddHandler und RemoveHandler):oder geben Sie einfach an, dass diese Prozedur ein bestimmtes Ereignis behandelt (verwenden Sie das Schlüsselwort Handles bei der Definition):- Verbinden Sie den implementierten Ereignishandler mit der Ereignisquelle, verwenden Sie das FRDocument-Objekt zur Verarbeitung, und trennen Sie anschließend den Handler:
C++
C++
In C++ müssen Sie die erforderliche Schnittstelle implementieren, einen Verbindungspunkt abrufen und das Objekt, das die Schnittstelle implementiert, bei den entsprechenden verknüpfbaren Objekten registrieren („advise“). Wir verwenden das FRDocument-Objekt als Beispiel.
- Implementieren Sie die Schnittstelle IFRDocumentEvents. Da sie von der Schnittstelle IUnknown abgeleitet ist, sollte das Client-Objekt auch die IUnknown-Methoden implementieren:
- Die Klasse CFRDocumentEventsListener kann dann verwendet werden, um Benachrichtigungen vom FRDocument-Objekt zu empfangen. Registrieren Sie dieses Objekt bei der Benachrichtigungsquelle (die Fehlerbehandlung ist ausgelassen):
C#
C#
Das Verfahren in C# ist ähnlich wie in Visual Basic .NET. Sie müssen die erforderlichen Methoden der Callback-Schnittstelle implementieren und die implementierten Ereignishandler mit der Ereignisquelle verbinden. Wir verwenden das FRDocument-Objekt als Beispiel.
- Implementieren Sie die erforderlichen Methoden der Schnittstelle IFRDocumentEvents:
- Verbinden Sie den Ereignishandler mit der Ereignisquelle, verwenden Sie das FRDocument-Objekt für die Verarbeitung und trennen Sie den Handler anschließend wieder:
