手动添加连接点

hongkun18 2011-08-04 09:39:49
新建一个简单对象,没有选择连接点支持;
之后,手动的改写idl,并添加***_cp.h文件,修改简单对象对应.h文件,
但在测试是
HRESULT Fire_***()
的实现里面的m_vec总是0,是什么原因啊?
...全文
247 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongkun18 2011-08-04
  • 打赏
  • 举报
回复
1楼:我一开始操作就象按你说那样,所以才发现这个问题。
2楼:我用c#写客户端,使用委托,所以无须advise;
3,4楼:谢谢你写的那么详细,实质上和一楼的一样的。
结果还是没有解决。

没办法我把原来的简单对象的相关文件删了,重新按照向导加一个支持连接点的简单对象

但我就是不清楚怎么不能通过手动修改。
fishion 2011-08-04
  • 打赏
  • 举报
回复
public IConnectionPointContainerImpl<CXXX>,



COM_INTERFACE_ENTRY(IConnectionPointContainer)
COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)

还缺这些
fishion 2011-08-04
  • 打赏
  • 举报
回复
BEGIN_COM_MAP(CXXX)
。。。。
。。。。
END_COM_MAP()
BEGIN_CONNECTION_POINT_MAP(CXXX)
CONNECTION_POINT_ENTRY(IID__IXXXEvents)
END_CONNECTION_POINT_MAP()


在idl的library中添加
dispinterface _IXXXEvents
{
properties:
methods:
[id(1), helpstring("method OnXXX")] HRESULT OnXXX);
};

[default, source] dispinterface _IXXXEvents;

最后右击class view里面的COM类,添加连接点,选择_IXXXEvents
oyljerry 2011-08-04
  • 打赏
  • 举报
回复
还要Advise,建立连接点等.
ouyh12345 2011-08-04
  • 打赏
  • 举报
回复
另建一个工程,实现连接点
然后对比,看需要继承哪些类,需要实现哪些方法

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧