现在在写一个基于MFC的ActiveX,其中涉及到接口函数要传递自定义的类对象在工程里面使用向导添加了一个自动化的类COrder,继承自CCmdTarget,客户端ID是Test.Order但是VBS里面使用Set obj = CreateObject("Test.Order")报错,无法创建对象查了资料,说是要支持双接口才可以,但是怎么修改才能支持双接口?有没有可以参考的代码?非常感谢

解决方案 »

  1. http://www.vckbase.com/document/viewdoc/?id=1506
    这篇文章中介绍了如何实现双接口。
      


  2. 我就是照着这个文章做的,但还是没效果,查资料说是要改成dual interface,但是找不到相关文章和代码
      

  3. 搜索TN038
    也可以在控件中声明一个方法来创建新的对象,不必非要一个CLSID
      


  4. 可以在JS里面创建ActiveX里面的自动化对象了,但是在JBS里面改了对象属性后,再传到ActiveX,发现对象的属性都消失了,象是ID,本来在JS里面显示都是101,但是再传递到ACTIVEX里面,发现ID成了-8XXXXXXX,这个怎么解决?
      


  5. 不光是数字类型,字符串类型干脆显示《指针错误》,所有属性都一样我是用IDISPATCH* 从ActiveX创建内置自动化对象->JS接收(JS接收后,对象属性都是正确的)-> JS修改对象属性->ActiveX(这一步就出现问题了,ActiveX可以接收到对象,可以从IDISPATCH*强制转换为Entity*,但是属性全部丢失了)是因为COM对象在ActiveX和JS之间传递,被意外释放掉了么,但是我在从ActiveX->JS传递IDISPATCH*的时候,是使用GetIDISPATCH(TRUE)传递的,应该是AddRef了的
      

类似问题 »