Per gli utenti Windows, ciascuno degli oggetti connettibili di FRE fornisce punti di connessione di due tipi: uno che utilizza un’interfaccia dispatch e uno che utilizza l’interfaccia derivata da IUnknown. L’interfaccia dispatch è progettata per l’uso automatico in Visual Basic e ambienti simili, mentre l’interfaccia basata su vtbl è adatta all’uso in C++.
Le dispinterface sono specifiche di Windows.
| Oggetto | Interfaccia callback (Dispinterface) |
|---|---|
| FRDocument | IFRDocumentEvents (DIFRDocumentEvents) |
| FRPages | IFRPagesEvents (DIFRPagesEvents) |
| FRPage | IFRPageEvents (DIFRPageEvents) |
| ImageDocument | IImageDocumentEvents (DIImageDocumentEvents) |
Per Linux e macOS
Per Linux e macOS
Esistono due metodi globali usati per collegarsi e scollegarsi dalla sorgente delle notifiche:Questi metodi devono ricevere uno degli oggetti connettibili come argomento object e la corrispondente interfaccia callback come argomento callback.È necessario implementare l’interfaccia richiesta e usare “advise” per collegare l’oggetto che implementa l’interfaccia ai corrispondenti oggetti connettibili. Useremo l’oggetto FRDocument come esempio.
- Implementare l’interfaccia IFRDocumentEvents. Poiché deriva dall’interfaccia IUnknown, l’oggetto client deve implementare anche i metodi IUnknown:
- La classe CFRDocumentCallback può quindi essere usata per ricevere notifiche dall’oggetto FRDocument. Collegare questo oggetto alla sorgente delle notifiche tramite advise (la gestione degli errori è omessa):
Il resto di questo argomento si applica agli utenti di FRE per Windows.
Visual Basic .NET
Visual Basic .NET
È sufficiente dichiarare l’oggetto connettibile con WithEvents e implementare i metodi della corrispondente interfaccia callback. Sarà inoltre necessario specificare esplicitamente il gestore eventi associato all’evento.Per l’oggetto FRDocument, la procedura sarà la seguente:
- Dichiarare l’oggetto FRDocument con WithEvents:
- Implementare i metodi necessari della dispinterface DIFRDocumentEvents in una Sub simile alla seguente.
- Collegare il gestore eventi implementato all’origine eventi, usare l’oggetto FRDocument per l’elaborazione, quindi scollegare il gestore:
C++
C++
In C++, è necessario implementare l’interfaccia richiesta, ottenere un connection point ed eseguire l‘“advise” dell’oggetto che implementa l’interfaccia sugli oggetti connettibili corrispondenti. Useremo l’oggetto FRDocument come esempio.
- Implementare l’interfaccia IFRDocumentEvents. Poiché deriva dall’interfaccia IUnknown, anche l’oggetto client deve implementare i metodi IUnknown:
- La classe CFRDocumentEventsListener può quindi essere utilizzata per ricevere notifiche dall’oggetto FRDocument. Eseguire l’advise di questo oggetto sulla sorgente delle notifiche (la gestione degli errori è omessa):
C#
C#
La procedura in C# è simile a quella di Visual Basic .NET. È necessario implementare i metodi richiesti dell’interfaccia callback e collegare i gestori eventi implementati alla sorgente degli eventi. Useremo l’oggetto FRDocument come esempio.
- Implementare i metodi necessari dell’interfaccia IFRDocumentEvents:
- Collegare il gestore eventi alla sorgente degli eventi, usare l’oggetto FRDocument per l’elaborazione, quindi scollegare il gestore:
