我现在用vc6的mfc activex wizard 生成了一个activex control的框架,然后插入了一个继承自CCmdtarge的支持自动化的类CClassTwo,这样我的控件就又有了一个接口以及他的实现类。在控件的两个接口分别添加了一个方法,并在各自的类中添加了实现代码。于是乎,进行了编译和注册。紧接着我在一个某个应用程序中插入了前面生成的控件,于是ClassWizard很自觉地就为我生成Wrapper class。问题就出来了,为什么我只得到了一个wrapper class?在我的odl中不是明明就有两个coclass吗?

解决方案 »

  1.   

    用Add a class From Type Library产生第二个coclass的wrapper。
      

  2.   

    多谢paul,少不了你的。但是,我还想问问,为什么我看到有的activex控件不需要手工Add a class From Type Library产生其它coclass的wrapper,而是直接就将所有的类都列出来了呢?
      

  3.   

    因为Activex Control类型库的coclass有control属性,VC的wizard会生成CWnd继承的wrapper,而普通com没有control属性,wizard只会生成从COleDispatchDriver继承的wrapper。
      

  4.   

    9494,我的问题和nickyzhou的一样。
    http://expert.csdn.net/Expert/topic/1102/1102199.xml?temp=.3031885
    如何将activex control中的类导出?期待进一步的指导!