调用一个ActiveX Dll不放到系统目录对象就无法创建?该怎么解决
调用一个ActiveX Dll不放到系统目录对象就无法创建?我有一个文件QMDispatch.dll(是其它软件的一个插件)
调用一个ActiveX Dll不放到系统目录对象就无法创建?
我有一个文件"QMDispatch.dll"(是其它软件的一个插件)已经注册到系统,和工程文件放在同一个目录下,对象浏览器里也引用了此DLL,但是……
VB codeDim obj As ObjectSet obj = CreateObject("QMDispatch.QMFunction") '此时会出现错误:ActiveX 部件不能创建对象或返回对该对象的引用(错误 429)
而把"QMDispatch.dll"复制到windows或system32目录下注册,则对象创建成功,不会出错。
为什么放到别的目录就不行?一定要放到系统目录?
我用同样的方法调用另外一个DLL文件,无论放到哪里都能成功,难道是这个"QMDispatch.dll"有问题吗?
顺便问一下CreateObject这个函数是使用什么路径下的文件来创建对象?他的参数只能写文件名和类名不能写路径呀!!
[解决办法]这个,,,不好说。你添加引用没有?
要添加DLL的引用。
[解决办法]DLL中的组件如果使用了别的组件,并且写死了是当前目录下的组件,那就只能在当前目录下满足这些要求.
查明一下都有什么依赖组件,一起打包试试.