Модератор
|
||||||
1 | ||||||
ATL: Как вызывать события ConnectionPoint03.07.2020, 00:58. Показов 20373. Ответов 1
Желаю не болеть коронавирусом всем!
Создал ATL проект в VS, создал SimpleObject (рисовать COM-сервер ничего не должен, только предоставлять клиенту объекты и позволять навешивать свои обработчики событий), пометил галочкой пункт про поддержку ConnectionPoint. Создалось два интерфейса - для объекта и для событий которые, как я понимаю, он может вызывать на клиенте. Название второго интерфейса заканчивается на Events. Создались и два класса - для объекта и для событий. Как создавать методы вызываемые для объекта из клиента понятно. А как создавать код вызывающий события? Делая ПКМ на самом интерфейсе Events я могу добавить туда метод, но никакого кода в классе производном от IConnectionPointImpl не добавляется. Порывшись в хламе я нашёл пример проекта в котором добавлен метод в интерфейс Events Кликните здесь для просмотра всего текста
Код
dispinterface _ICTestEventEvents { properties: methods: [id(1), helpstring("method OnSendNotification")] HRESULT OnSendNotification(BSTR method, BSTR args); }; Кликните здесь для просмотра всего текста
Но каким визардом это делается? Или для каждого события нужно вручную такую функцию дописать? (что она делает, понятно - вызвает Invoke для каждого клиента, но она заточена под конкретный список аргументов метода - два аргумента типа BSTR). p.s. В общем то мне нужно, что бы при наступлении события на COM-сервере, он известил клиента создавшего объект. Если это делается вообще не через ConnectionPoint, то прошу объяснить. Я в COM-технологии далеко не гуру.
0
|
03.07.2020, 00:58 | |
Ответы с готовыми решениями:
1
Как вызывать ajax функцию без события? Как вызывать события подгруженных компонентов из ajax? Можно ли вызывать делегат без события в определенное время Писать несколько обработчиков для одного события или один обработчик, в котором вызывать методы? |
Модератор
|
|
04.07.2020, 10:16 [ТС] | 2 |
Сообщение было отмечено politoto как решение
Решение
Сам нашёл как сделать.
https://www.codeproject.com/Ar... Approaches http://www.369o.com/data/books... 1sec2.html
0
|
04.07.2020, 10:16 | |
04.07.2020, 10:16 | |
Помогаю со студенческими работами здесь
2
ATL не ясно как добавить объект Как работать с ATL OLE DB Consumer wizard? ATL Project. Как подключить использование MFC и ADO? В ATL нашел код: __interface - как это работает Как в одном обработчике события запустить другой обработчик события Как вызвать один обработчик события в другом обработчике события? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |