Para usuários do Windows, cada um dos objetos conectáveis do FRE fornece pontos de conexão de dois tipos — um que usa uma interface de despacho e outro que usa a interface derivada de IUnknown. A interface de despacho foi projetada para uso automático no Visual Basic e em ambientes semelhantes, enquanto a interface baseada em vtbl é adequada para uso em C++.
Dispinterfaces são específicas do Windows.
| Objeto | Interface de Callback (Dispinterface) |
|---|---|
| FRDocument | IFRDocumentEvents (DIFRDocumentEvents) |
| FRPages | IFRPagesEvents (DIFRPagesEvents) |
| FRPage | IFRPageEvents (DIFRPageEvents) |
| ImageDocument | IImageDocumentEvents (DIImageDocumentEvents) |
Para Linux e macOS
Para Linux e macOS
Há dois métodos globais usados para conectar-se e desconectar-se da fonte de notificações:Esses métodos devem receber um dos objetos conectáveis como argumento object e a interface de callback correspondente como argumento callback.Você precisa implementar a interface necessária e “registrar” o objeto que a implementa nos objetos conectáveis correspondentes. Usaremos o objeto FRDocument como exemplo.
- Implemente a interface IFRDocumentEvents. Como ela deriva da interface IUnknown, o objeto cliente também deve implementar os métodos de IUnknown:
- Em seguida, a classe CFRDocumentCallback poderá ser usada para receber notificações do objeto FRDocument. Registre esse objeto na fonte de notificações (o tratamento de erros foi omitido):
O restante deste tópico se aplica aos usuários do FRE para Windows.
Visual Basic .NET
Visual Basic .NET
Basta declarar o objeto conectável com WithEvents e implementar os métodos da interface de callback correspondente. Você também precisará especificar explicitamente o manipulador de eventos associado ao evento.Para o objeto FRDocument, o procedimento será o seguinte:
- Declare o objeto FRDocument com WithEvents:
- Implemente os métodos necessários da dispinterface DIFRDocumentEvents em um Sub, de forma semelhante ao exemplo a seguir.
- Conecte o manipulador de eventos implementado à fonte de eventos, use o objeto FRDocument para processamento e, em seguida, desconecte o manipulador:
C++
C++
Em C++, você precisa implementar a interface necessária, obter um ponto de conexão e usar “registrar” para associar o objeto que implementa a interface aos objetos conectáveis correspondentes. Usaremos o objeto FRDocument como exemplo.
- Implemente a interface IFRDocumentEvents. Como ela deriva da interface IUnknown, o objeto cliente também deve implementar os métodos de IUnknown:
- Em seguida, a classe CFRDocumentEventsListener pode ser usada para receber notificações do objeto FRDocument. Registre esse objeto na fonte de notificações com Advise (o tratamento de erros foi omitido):
C#
C#
O procedimento em C# é semelhante ao do Visual Basic .NET. Você precisa implementar os métodos necessários da interface de callback e conectar os manipuladores de eventos implementados à fonte de eventos. Usaremos o objeto FRDocument como exemplo.
- Implemente os métodos necessários da interface IFRDocumentEvents:
- Conecte o manipulador de eventos à fonte de eventos, use o objeto FRDocument para processamento e, em seguida, desconecte o manipulador:
