接口继承的问题,救命,在线等待

xiaosun 2002-11-16 04:44:49
如何在一个新建的com组件中使用在另一个组件中声明的接口?比如说
IPlugIn继承于IDispatch,声明在组件A中
然后IPlugIn2想继承于IPlugIn,但是要在组件B中实现
...全文
5 点赞 收藏 5
写回复
5 条回复
xiaosun 2002年11月17日
各位,问题解决了:我正在整理文档,谢谢大家。
其实是这样的,我的想法是做一个服务插件的接口,这样在一个固定的
应用框架中可以动态加载所有实现此插件接口的com 对象,不用编译框架,就像IE的ExplorerBar的实现一样。但是,此服务接口是非常简单的,而每一个实现组件既要实现此服务接口,又要实现其本身的功能,则势必扩展接口,就像
IWebBrowser2继承于IWebBrowserApp,而IWebBrowserApp又继承于IWebBrowser, IWebBrowser继承于IDispatch一样。
注意,我要实现的服务插件是多个,而服务插件接口应该是重用的,不应该每次都写一遍。所以,才有了如上的想法和问题。
这应该并不违背接口不变性的原则!
欢迎与我交流。交流使人进步。
sunshineormer@msn.com

回复 点赞
GoogleGeek 2002年11月16日
你的想法不符合接口不变性的原则!
----------------------
如果不怕麻烦的话,可以重写IPlugIn2的idl文件!
回复 点赞
GoogleGeek 2002年11月16日
实际上你直接使用就行了
例如:
ComponentB 使用了ComponentA部分功能!
你直接将ComponentB看成ComponentA的client 不就行了?
回复 点赞
GoogleGeek 2002年11月16日
有两种方法:
聚合或者包容!
------------
包容更适合你的要求!
回复 点赞
ccaommao 2002年11月16日
我也初学,不是有多继承吗?一样来一个class A :public B,IDispatch
大虾莫笑:)
回复 点赞
发动态
发帖子
ATL
创建于2007-09-28

3024

社区成员

4.8w+

社区内容

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区公告
暂无公告