Поделиться через


Образец COMEvents: демонстрация создания и использования COM-событий

Обновлен: Ноябрь 2007

Образец COMEvents показывает обработку событий с использованием модели COM.

2d9c4515.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

Построение и запуск образца COMEvents

  1. Откройте файл решения COMEvents.sln.

  2. В меню Построение выберите команду Построить решение.

  3. Щелкните правой кнопкой мыши узел EventReceiver в окне Обозреватель решений и выберите команду Назначить запускаемым проектом.

  4. В меню Отладка выберите команду Запуск без отладки.

Принцип работы образца

В образце COMEvents создается источник событий CSource и получатель событий CSink с помощью атрибутов event_source и event_receiver, соответственно.

Методы источника событий объявляются в интерфейсах IEvent, IEvent2 и IJW в виде событий (определения интерфейсов см. в файле Ifaces.h).

Получатель событий объявляет методы-обработчики от f1 до f6 и привязывает каждый из этих обработчиков к некоторому событию.

В главном коде создаются экземпляры классов CSource и CSink. Конструктор CSink выполняет привязку обработчиков. Затем в главном коде события вызываются, отключаются от обработчиков и снова вызываются.

См. также

Другие ресурсы

Образцы обработки событий