COM的属性不能是一个函数指针吗?

david78 2006-02-10 11:08:11
COM的属性不能是一个函数指针吗?

ATL的轻量级COM
想在其中添加一个 类型为函数指针的 属性
目的是想通过这个属性,实现回调函数,即调用COM的用户 将一个函数赋给COM的这个函数指针,
然后COM来回调这个函数。

//定义了函数指针的类型
typedef void (*Response)(BSTR Result, BSTR AddInfo);

添加 Response类型的属性后,编译不过
-------------------------
VC7下的错误信息是
:\My WorkShop\DataGather\EtermCtrl\EtermHandler.h(49) : fatal error C1904: 错误的提供程序交互: bc6b4b8a-0e4a-4bc9-b319-9dc2acfb61ee
c1xx : fatal error C1063: INTERNAL COMPILER ERROR
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
c1xx : fatal error C1063: INTERNAL COMPILER ERROR
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
------------------------
VC6下的错误信息是
E:\My WorkShop\DataGather\EtermUser\EtermUser.idl(19) : error MIDL2131 : parameter must not be a function : [ Parameter 'pVal' of Procedure 'get_pResponse' ( Interface 'IEtermCtrl' ) ]

...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2006-02-10
  • 打赏
  • 举报
回复
E:\My WorkShop\DataGather\EtermUser\EtermUser.idl(19) : error MIDL2131 : parameter must not be a function :

看起来是不支持
wshcdr 2006-02-10
  • 打赏
  • 举报
回复
E:\My WorkShop\DataGather\EtermUser\EtermUser.idl(19) : error MIDL2131 : parameter must not be a function :

看起来是不是支持
pagechen 2006-02-10
  • 打赏
  • 举报
回复
不太了解,按你的错误信息 应该是com本身不支持
建议:直接传地址,程序中强行修改
healer_kx 2006-02-10
  • 打赏
  • 举报
回复
肯定不能支持,要不VB怎么用啊>?

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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