Для того, чтобы плагин мог принимать события от системы Zulu, необходимо установить объект-приемник событий с помощью метода SetEventSink объекта IPluginConnector.
Объект-приемник должен быть COM-объектом, поддерживающим интерфейс IDispatch (он же OLE Automation Object, он же ComVisible объект в .Net). Объект должен иметь метод OnZuluEvent, который будет вызываться системой при возникновении события.
Формат метода OnZuluEvent таков:
Visual Basic:
Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean
Параметр
Описание
nEventID Код события из набора констант eZuluEvents pSource Объект-источник события. Param1 Дополнительный параметр 1. Param2 Дополнительный параметр 2. Param3 Дополнительный параметр 3. В параметре EventID содержится код события. Список возможных кодов событий перечислен в наборе констант eZuluEvents.
Параметр Source содержит ссылку на объект-источник события. Это может быть объект Zulu, документ Document, окно карты IMapView или какой-либо другой объект, в зависимости от события.
Параметрах Param1, Param2 и Param3 имеют тип VARIANT и в них передается дополнительная информация о конкретном событии.