社区
ATL
帖子详情
关于ATL聚合的问题?
sunmz_wjxy
2008-06-18 05:10:15
有组件A,B.
A组件的接口有IA1,IA2,IA3.这些接口之间有可能之间关联.
组件B聚合A的接口IA1,我在组件B的IDL文件里暴露了IA1,但不知道如何把A组件的接口全部暴露.
...全文
163
7
打赏
收藏
关于ATL聚合的问题?
有组件A,B. A组件的接口有IA1,IA2,IA3.这些接口之间有可能之间关联. 组件B聚合A的接口IA1,我在组件B的IDL文件里暴露了IA1,但不知道如何把A组件的接口全部暴露.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunmz_wjxy
2008-06-30
打赏
举报
回复
聚合我已经实现了,但就是客户端找不到A组件的其它接口,说未定义的错误.
我在B组件的IDL里不可能一个个暴露A组件的接口吧!这样未免也笨了吧!
paerxiushi
2008-06-29
打赏
举报
回复
外部组件需要保存被聚合组件的代理接口与非代理接口,而被聚合的组件应提供一个构造函数,用于初始化它内部保存的未知接口。当组件不被聚合时,这个未知接口保存自己的非代理接口,而被聚合时,这个未知接口保存外部的接口。这是源程序例子:
http://dl3.csdn.net/fd.php?i=62485187581250&s=efc7500f8cec30e68f59cdac9a7f8dc0
fairyprince
2008-06-21
打赏
举报
回复
在B中,实例A
A 要支持聚合,将B的iunknown传组A,这样在A中就以查到B,当然你也可以不这样做,但不符合com精神
乘下就是在 b 的QueryInterface 中匹配所有A的接口IID,然后转向 a 的QueryInterface.
其实你怎么实面都行,com 只是规定了一些规范是一种标准.只要外面看来是就行了,里面你可以随意.
蒋晟
2008-06-19
打赏
举报
回复
你可以直接在同一个对象上暴露所有接口,用QueryInterface查询接口
你也可以实现IServiceProvider::QueryService返回其他对象的接口
建议你去看看《COM本质论》
sunmz_wjxy
2008-06-19
打赏
举报
回复
谢谢你的回答,不过我不懂这个接口的使用,能不能有个例子给我参照.
如果我不使用这个接口,请问如何暴露A组件所有的接口.
另外我使用的是VC6.
whwenming
2008-06-19
打赏
举报
回复
哦
这些组件是有很大的用途的啊!
蒋晟
2008-06-19
打赏
举报
回复
实现IServiceProvider来暴露接口吧,这样灵活一点。
ATL
组合与
聚合
代码
ATL
里实现COM的组合与
聚合
,有代码和文字图片说明
ATL
源码学习-
聚合
的支持
ATL
源码学习-
聚合
的支持 博客教程地址 http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Ftttyd
使用WTL进行Windows桌面应用开发-第二部
1. 在第一部基础上增加更深入的内容,比如WTL提供的标准Win32窗口和自定义窗口的使用方式. 2. 涉及到一些项目开发难题的窗口自定义的解决方案。... 不同的VS版本对应的
atl
版本不一致,建议使用VS2010以上版本开发.
ATL
锂离子
聚合
物何方神圣?一加移动电源拆解.doc
去年底,一加推出了进军移动电源的处女作,售价89元的10000mAh来电移动电源。下面就跟随我们的脚步,通过全面拆解,一起了解这款
深入解析
ATL
(第2版).pdf
6.5
聚合
:外部控制对象 6.6 接口映射表链 6.7 尽管说“不” 6.8 调试 6.9 扩展性 6.10 总结 第7章
ATL
中的永久性 7.1 回顾COM的永久性 7.2
ATL
的永久性实现类 7.3 属性映射表 7.4 永久性实现 7.5 其他永久性实现 ...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章