Sdílet prostřednictvím


Principy zpracování událostí

Všechny zpracování událostí jsou společné třemi kroky. Budete muset:

  • Implementujte rozhraní událostí na objektu.

  • Poradit zdroj událostí, že objekt chce přijímat události.

  • Zdroj událostí unadvise, když objekt už nemusí přijímat události.

Způsob implementace rozhraní událostí bude záviset na jeho typu. Rozhraní událostí může být vtable, duální nebo dispinterface. Je na návrháři zdroje událostí definovat rozhraní; je na vás, abyste toto rozhraní implementovali.

Poznámka:

I když neexistuje žádný technický důvod, že rozhraní událostí nemůže být duální, existuje řada dobrých důvodů návrhu, proč se vyhnout použití duálních. Jedná se ale o rozhodnutí návrháře nebo implementátora zdroje událostí. Vzhledem k tomu, že pracujete z pohledu události sink, musíte umožnit možnost, že nebudete mít žádnou volbu, ale implementovat duální rozhraní událostí. Další informace o duálních rozhraních naleznete v tématu Duální rozhraní a ATL.

Doporučení zdroje událostí je možné rozdělit do tří kroků:

Jakmile úspěšně zaregistrujete zájem o příjem událostí, metody v rozhraní událostí objektu budou volána podle událostí aktivovaných zdrojovým objektem. Pokud už nepotřebujete přijímat události, můžete soubor cookie předat zpět do spojovacího bodu přes IConnectionPoint::Unadvise. Tím se přeruší propojení mezi zdrojem a jímkou.

Při zpracování událostí buďte opatrní, abyste se vyhnuli referenčním cyklům.

Viz také

Zpracování událostí