Re: Помощь по COM требуется... Ж8(
От: Vi2 Удмуртия http://www.adem.ru
Дата: 06.07.04 09:42
Оценка:
Здравствуйте, Dizel, Вы писали:

D>class COfficeBtnHandler:
D>    public IDispEventImpl<
D>            /*nID*/ 1, COfficeBtnHandler,
D>            &__uuidof(Office::_CommandBarButtonEvents),
D>            &__uuidof(Office::__Office), 
D>            /*wMajor*/ OFFICELIB_MAJOR_VERSION, 
D>            /*wMinor*/ OFFICELIB_MINOR_VERSION>
D>{
D>public:
D>    COfficeBtnHandler(void) {}
D>    virtual ~COfficeBtnHandler(void) {}

Вот этот virtual не нужен.

D>Создаю кнопку и пытаюсь на нее повесить событие из класса COfficeBtnHandler таким методом:

D>    CommandBarControlPtr m_pButton = NULL;
D>...
D>    hr=m_Handler->DispEventAdvise(m_pButton,&(m_pButton.GetIID()));

D>А в ответ — тишина... Кнопка создается и можно хоть обкликаться — молчание...

По какому интерфейсу цепляешься? m_pButton.GetIID() или __uuidof(Office::_CommandBarButtonEvents)? И чему равен hr после этого DispEventAdvise, т.е. реально подцепился или нет?
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.