Condividi tramite


Principi di gestione degli eventi

Esistono tre passaggi comuni a tutte le operazioni di gestione degli eventi. Sarà necessario:

  • Implementare l'interfaccia evento nell'oggetto.

  • Consigliare all'origine evento che l'oggetto desidera ricevere eventi.

  • Annullare la visualizzazione dell'origine evento quando l'oggetto non deve più ricevere eventi.

Il modo in cui si implementerà l'interfaccia evento dipenderà dal relativo tipo. Un'interfaccia evento può essere vtable, dual o dispinterface. Spetta alla finestra di progettazione dell'origine evento definire l'interfaccia; spetta all'utente implementare tale interfaccia.

Nota

Anche se non esistono motivi tecnici per cui un'interfaccia di evento non può essere doppia, esistono diversi motivi di progettazione validi per evitare l'uso di duali. Tuttavia, si tratta di una decisione presa dalla finestra di progettazione/implementazione dell'origine evento. Poiché si lavora dal punto di vista dell'evento sink, è necessario consentire la possibilità che non si abbia scelta, ma di implementare un'interfaccia a doppio evento. Per altre informazioni sulle interfacce duali, vedere Interfacce duali e ATL.

La visualizzazione dell'origine evento può essere suddivisa in tre passaggi:

Dopo aver registrato correttamente l'interesse a ricevere eventi, i metodi sull'interfaccia evento dell'oggetto verranno chiamati in base agli eventi generati dall'oggetto di origine. Quando non è più necessario ricevere eventi, è possibile passare di nuovo il cookie al punto di connessione tramite I Connessione ionPoint::Unadvise. In questo modo verrà interrotta la connessione tra l'origine e il sink.

Prestare attenzione a evitare cicli di riferimento durante la gestione degli eventi.

Vedi anche

Gestione di eventi