根据网上的文章,用c++写了一个com对象,没有使用vc的框架
1.  这个com对象已经实现了IDispatch 接口,实现了一个Helloworld函数    并且在vc中 调用GetIDsOfNames 和 invoke 都是成功的
2.  在dll中也加入了类型库信息,用oleview 看的到   
3.  vbscript的程序如下:   Dim obj 
   Set obj  = CreateObject("ABC.COM.1") 
   obj.Helloworld("abc") 
  出错信息:   Error: Class doesn't support Automation: 'Helloworld'     请问这是怎么回事?   谢谢!

解决方案 »

  1.   

    主要参考资料: //
     // venture 个人专栏
     // 
     http://www.vckbase.com/vckbase/columnist/venture/
     我按照作者的文章做的,感觉差一步就可以实现vbscript中的调用了, 而且用vc直接获得IDispatch接口是可以用的, 没想到vbscript的脚本要走这么长的路线
    =========================================== 最新情况:
      http://www.codeguru.com/forum/archive/index.php/t-159088.html
      还要一个 IClassFactoryEx, 多了一个 CreateInstanceWithContext 函数,  实现之后,传给此函数的 第一个 guid 是 IID_IUnknown ,  我传了  this 给 ppv ,   接下来 程序就crash了,  有兄弟知道是怎么回事吗! 
      

  2.   

    安全接口,最近你这样的文章太多了,都是控件在web上调用。都需要实现安全接口IobjectSafety