首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

小弟我问个关于连接点实现中的 CComQIPtr<IConnectionPointContainer> 的有关问题

2012-02-27 
我问个关于连接点实现中的CComQIPtrIConnectionPointContainer 的问题看我的代码:CSinkm_sink//接受器

我问个关于连接点实现中的 CComQIPtr<IConnectionPointContainer> 的问题
看我的代码:
CSink   m_sink;//   接受器对象
DWORD   m_dwCookie;//   连接的   cookie
DMsgrObjectEventsPtr   m_spObj;   //   组件接口指针CComQIPtr <   IConnectionPoint   >   m_spCP;//   连接点指针

//   得到连接点容器接口
CComQIPtr <IConnectionPointContainer>                                                                                   spContainer(   m_spObj   );
    if(   !spContainer   )
    {
          AfxMessageBox(   _T( "组件没有提供连接点功能 ")   );
          return;
      }

编译通过!但运行时总提示( "组件没有提供连接点功能 ")  
请问这是怎么回事?
这问题我给40分!

[解决办法]
m_spObj没有赋值
[解决办法]
说明你的对象在QueryInterface接口IConnectionPointContainer的时候没有成功,你的组件对象可能是个非链接对象。要想要组件支持事件,是要做一些处理的。可以参考学习http://www.vckbase.com/document/viewdoc/?id=1538
[解决办法]
如果组件中没有 实现事件,当然就不行了
[解决办法]
单步调试,跟到CComQIPtr代码里面看是不是QueryInterface错了,根据返回错误码,就是那个HRESULT,查错误信息

热点排行