近日学com,发现全部是类的形式,所以想能不能直接在com上二次开发或者扩充开发,那样,dll的com也活化了。。

解决方案 »

  1.   

    包容和聚合技术可以很容易地实现COM组件的升级,具体如何实现可以看“COM技术内幕”
      

  2.   

    我觉得这在com上二次开发或扩充开发,这是很容易的,只要你知道它的接口结构。
      

  3.   

    我做过,完全没问题的。
    方法2种
    1.多继承
    2.包容
    =fly by=
      

  4.   

    能不能改造dll的原来的接口,封装成自己的东东
      

  5.   

    只能在继承原接口的基础上改造接口中,根据原结构的特性你可以决定用包容还是聚合,但新生成的com组件的作用还得依赖于原组件的存在
      

  6.   

    似乎继承是不可以的(虽然微软曾经承诺过)。
      只能包容,或者是聚合,说白了也不过是把被聚合的COM接口暴露给客户。或者是间接的利用被包容COM的方法。
      

  7.   

    其实com已经做到不错了,再好点,我们也不强求,相当于能够更改别人的源代码(这里主要指直接对二进制代码进行修改),那样也许不太好。呵呵,但也有好处,有些东西我特反对,我不喜欢我不喜欢的东西变要出现在我的计算机上,比如realpaly,每次启动都挂个东西在计算机上,要是基于com,我非把它的上挂部分直接return了。
      

  8.   

    多继承哪个说不行?
    class ATL_NO_VTABLE CSCGroup : 
    public IDispatchImpl,
    public ISCShape
    {
    ...
    }
    这里我做了简化,CSCGroup是新的接口类
    ISCShape是一个基类,IDispatchImpl是IDispatch的实现类=fly by=
      

  9.   

    有资料上说com是不能继承的,在上面的代码中应该更多体现了聚合的特性,虽然从形式上看像c++ 的继承
      

  10.   

    二次开发出是可以的!
    人可以再写一个用于你处里的com来调用该com