Connection Point в ВСВ
От: uriahheep  
Дата: 21.11.02 14:03
Оценка:
Кто может подсказать, почему не происходит подключение Connection Point в программе на ВСВ?


Интерфейс ISenderEvents сгенерирован Builder-ом при создании Automation Object с включенным Generate event support code.

Sink Клиента :



class TEvSink :
public TEventDispatcher <TEvSink,&DIID_ISenderEvents>
{
 public:
 HRESULT ConnectTo() {HRESULT hr= ConnectEvents(m_pSender);};
 HRESULT InvokeEvent(DISPID id,TVariant * params) {  ......  } ;
};



ISender *m_pSender;

При выполнении ConnectEvents(m_pSender) получаю hr =0x80004002 (E_NOINTERFACE)


Интерфейс ISenderEvents присутствует а списке базовых классов для Impl:



class ATL_NO_VTABLE TSenderImpl :
  public CComObjectRootEx<CComSingleThreadModel>,
  public CComCoClass<TSenderImpl, &CLSID_Sender>,
  public IConnectionPointContainerImpl<TSenderImpl>,
  public TEvents_Sender<TSenderImpl>,      /* ~= DIID_ISenderEvents */
  public ISender,
{ ......};


BEGIN_OBJECT_MAP(ObjectMap)
  OBJECT_ENTRY(CLSID_Sender, TSenderImpl)
END_OBJECT_MAP()



***COM объект инициализируется и работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.