我用VC做了个COM
在VB中可以声明
dim myOBJ as new myCom.myClass
可是如果使用其中的方法就回出现:"ActiveX部件不能创建对象"
并且使用 set myOBJ=New mycom.myClass也出现自动化错误
如果我编译类型为DEBUG的话就可以使用了,可是为什么在没VC的系统中不能注册这个DLL?
小弟菜鸟,谢谢各位指点!

解决方案 »

  1.   

    是不是你调用了MFC啊,要注册MFC类库才行哦
      

  2.   

    Regsvr32 路径\MFC40.dll,MFC40.dll为MFC类库的名字
      

  3.   

    还是不行,是不是编译DLL的问题啊,请教各位
      

  4.   

    明显是缺少其他运行库,检查一下都调用了哪些dll吧。用pexplorer等工具看一下。
    或者用Release的静态链接试一试。
      

  5.   

    : supergreenbean(超级绿豆 - 世界上只有一种人不能得罪 —— 女人) 你的COM实现IDispatch了么?
    我如何实现啊?
      

  6.   

    lazygod(Use any item) 明显是缺少其他运行库,检查一下都调用了哪些dll吧。用pexplorer等工具看一下。
    或者用Release的静态链接试一试。
    我已经静态链接了,还不行
      

  7.   

    建议你用view dependency看一下COM依赖哪些dll,然后一起copy到没有vc的机器上面放到windows/system32里面,之后在VB的工程里面选择reference,找到你的控件添加就可以了。
      

  8.   

    class xxxx : public IDispatch
      

  9.   

    从debug可以用来看,有可能是发行版本的依存dll缺少.