Thorn |
опубликован 06-11-2001 10:40 MSK
Привет всем. У меня есть IDL-файл сервера где в библиотеке типов описаны 2 интерфейса: coclass Message { [default] interface IMessage; [default, source] dispinterface _IMessageEvents; }; _IMessageEvents содержит метод AnsOnMessage Класс реализующий IMassage (CMessage)порождён от IConnectionPointContainerImpl<CMessage>. Используя Implement Connection Point я получил Proxy-класс предоставляющий метод вызывающий через Invoke AnsOnMessage. Соответственно теперь CMessage порождён от Proxy-класса. Теперь, я так понимаю, я должен реализовать метод интерфейса _IMessageEvents в клиенте породив от него класс. Вопрос в том, что надо ли мне реализовывать кроме необходимого мне метода ещё и методы IDispatch и IUnknown (очень уж не хочется). Если нет, то как выкрутится? Cпасибо.
|
OlegN
|
опубликован 06-11-2001 13:30 MSK
А прийдется, но ты не унывай, IUnknown реализовать несложно, а для IDispatch есть такие "волшебные" функции как : LoadTypeLib, CreateStdDispatch, DispGetIDsOfNames, DispInvoke Их ты можешь использовать, если пишешь на "голом" API, а если на ATL или MFC, то там есть соответствующие классы wraper-ы, только не помню названий.
|