Общение


События


По умолчанию скриплет не вызывает событий, которые могут быть обработаны в контейнере. Однако, реализуя Event interface handler можно добавлять события в скриплет. После этого появляется возможность инициировать события из скриплета в любое время. Для того чтобы добавить событие необходимо:

  1. В элементе <implements> объявить об использовании Event interface handler, обеспечивающий механизм генерации событий.
  2. Объявить о каждом событии, которое вы хотите иметь возможность вызывать.
  3. Создать библиотеку типов для скриплета, чтобы контейнер имел возможность получить список возможных событий. <implements type="Event" id="scriptlet1"> <event name="event1"/> <event name="event2"/> </implements>

В COM программировании уведомление о событиях происходит через dispatch идентификатор (dispid) - целое число, определяющее событие инициируемое компонентой. Dispid компилируется в библиотеку типов и затем используется приложением для связи с событием. В процессе создания библиотеки типов dispid создается автоматически, но вы можете определить его сами:

<event name="event1" dispid=22 />.

После определения события можно его вызывать с помощью метода fireEvent(), например:

scriplet1.fireEvent("event2");




Начало  Назад  Вперед



Книжный магазин