com对象如何改变其实现的接口 ( 积分: 100 )

  • 主题发起人 主题发起人 vbfgm
  • 开始时间 开始时间
V

vbfgm

Unregistered / Unconfirmed
GUEST, unregistred user!
在不改变源码的情况下,如何使com对象所实现的接口转变为另外一个接口
例如xx接口由对象cc实现,由于需要加强xx接口的功能,新定义了yy接口,该新接口只是在xx接口的基础上增加了一些属性,我希望仍然用cc对象实现它,请问如何将cc对象所实现的接口由xx转变为yy。
或者是其他更简单的方法

这是在编写通视卡股票接收程序时遇到的问题
 
在不改变源码的情况下,如何使com对象所实现的接口转变为另外一个接口
例如xx接口由对象cc实现,由于需要加强xx接口的功能,新定义了yy接口,该新接口只是在xx接口的基础上增加了一些属性,我希望仍然用cc对象实现它,请问如何将cc对象所实现的接口由xx转变为yy。
或者是其他更简单的方法

这是在编写通视卡股票接收程序时遇到的问题
 
老兄,,很简单的!!!
你的意思就是要在原来的接口中扩展功能吗?
是的话你按照我的方法绝对不会错:
1:在现有接口中任意修改你定义的方法。
2:进入控制面板--->管理工具 --->组建服务,找到“COM+应用程序”,就会看到你
自己定义的所有接口和方法。将你的所有接口从根目录删除。
3:再回到Delphi中重新注册你的COM+对象
大功告成!!!!
 
注意:[red]接口一旦公布给 Client,就不能作任何修改:[/red]
你没看到微软定义IHtmlDocument2...4;也不修改原来的IHtmlDocument
 
重新包一层应该可以。
 
重新定义一个类来实现该接口,然后将那些没有实现的方法一一实现就OK啦!
 
楼上说的都很对,你只需要让COM对象既支持xx接口也支持yy接口问题就解决了。这样原来的客户程序申请xx接口,新的客户程序申请yy接口。
 
后退
顶部