首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

调用一个ActiveX Dll不放到系统目录对象就无法创建?该怎么解决

2012-02-19 
调用一个ActiveX Dll不放到系统目录对象就无法创建?我有一个文件QMDispatch.dll(是其它软件的一个插件)

调用一个ActiveX Dll不放到系统目录对象就无法创建?
我有一个文件"QMDispatch.dll"(是其它软件的一个插件)已经注册到系统,和工程文件放在同一个目录下,对象浏览器里也引用了此DLL,但是……

VB code
Dim obj As ObjectSet obj = CreateObject("QMDispatch.QMFunction")  '此时会出现错误:ActiveX 部件不能创建对象或返回对该对象的引用(错误 429)

而把"QMDispatch.dll"复制到windows或system32目录下注册,则对象创建成功,不会出错。

为什么放到别的目录就不行?一定要放到系统目录?

我用同样的方法调用另外一个DLL文件,无论放到哪里都能成功,难道是这个"QMDispatch.dll"有问题吗?

顺便问一下CreateObject这个函数是使用什么路径下的文件来创建对象?他的参数只能写文件名和类名不能写路径呀!!

[解决办法]
这个,,,不好说。你添加引用没有?
要添加DLL的引用。
[解决办法]
DLL中的组件如果使用了别的组件,并且写死了是当前目录下的组件,那就只能在当前目录下满足这些要求.

查明一下都有什么依赖组件,一起打包试试.

热点排行