Как установить обработчик события?

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Как установить обработчик события?

Vyacheslav » 24 мар 2005, 16:03

отимплементить dispinterface и подключить имплементацию к COM объекту
Можно об этом чуть подробнее?
(Рекомендованную книгу я пока не нашел)
Спасибо

Romeo » 10 мар 2005, 11:20

По всей видимости в соответствующем COM объекте, который должен управлять устройством, есть так называемый dispinterface, т.е. специальный интерфейс, методы которого вызываются через Dispatch. Для того, чтобы прослушивать вызовы этих методов, пользователь COM обекта должен отимплементить dispinterface и подключить имплементацию к COM объекту с помощью, например, AtlAdvise, если мы используем ATL.

Подробности в MSDN. Так же могу посоветовать неплохую литературу: "Beginning of ATL 3 COM" by Richard Crimes. Расчитано на американских программистов, которые отличаются определённой тупостью, потому разжовано до предела. Рекомендую.

Vyacheslav » 09 мар 2005, 18:04

Поподробней конечно можно: Type Library создана для программирования устройства управления шаговым эл. мотором. Есть событие с параметром, определяющим что именно произошло (error, move done, limit sw....)
В Delphi все было просто: когда я присоединил к проекту Type Library у меня появился компонент, я положил его на форму и все, у меня есть обработчик событий, анализируй переданный параметр и делай что нужно
А как же это сделать в Visual C++ 6.0 ???

Спасибо

Romeo » 09 мар 2005, 11:56

Можно немного подробнее? Какое событие требуется обработать?

Как установить обработчик события?

Vyacheslav » 27 фев 2005, 14:11

Уважаемые программисты, помогите плз
Вынужден писать на VC++ 6.0 который знаю пока не очень
Я подключил к проекту обьекты из Type Library (...dll)
без проблем обращаюсь к их методам, есть такие:

CreateEvent()
Start()

куда и как вставить обработчик события?

Вернуться к началу