可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
楼上的,这个create函数,在调试时也用过,如下:
由于这是个没有窗体的com控件,而调用的ocx却要显示一个状态对话框,
DLL我就放在我的程序文件里面,使用了绝对路径,也使用了相对路径,都没效果
把 DLL 放在可执行文件同一目录下,去掉函数声明中的文件名的路径部分。
我用的是其它公司提供的dll,标准dll,不需要注册
相对路径我也试过了,不行,问题是一样的
楼主这么肯定绝对路径没有搞错,那就不清楚了,不会是NTFS权限什么的关系吧。
我试过了,还是不行,路径我没有指定,放在exe一起,但是问题还是一样的!真心奇怪了
那么还可能DppApi.dll会调用其他的dll,你没放在一起,一样是报找不到该dll的错误。
哈哈,这问题多半是提供DLL的公司的问题!但表现上又是VB6的一个BUG!
我以前遇到过类似的问题,楼主可以参考一下,判断你自己的情况是否与此一样:
我也是曾经拿到一个SDK,开发时调用它们的API,但报了53文件未找到,但那个文件明明就在那里,路径是绝对不可能错的.
于是编译EXE后用OD跟踪一下,最终发现问题的关键不是在于VB6报的那个DLL,那个DLL是存在的;问题的关键在于,此DLL中所需要使用的一个或多个DLL不存在!
在VB6中,如果目标DLL的依存DLL不存在,而导致这个目标DLL初始化失败,VB6是会报这个目标DLL为53错误的,这个错误非常迷惑人.
楼主想要检查是否是这个原因引起的,那很简单,利用VS6里面自带的DEPENDS.EXE(要安装的时候装上VC才会有)去打开这个DL,然后看看依赖项里是否有问号,如果有,那就是它了
你要跟那个公司的客服联系看看是不是他依赖的dll出错了
那个公司应该有说明说怎么用的
多谢您的指点,我去试一下,看看是不是这个问题,这个问题困惑了我快3-4天了,始终都找不到问题所在!
所谓的经验就是从吃过的苦头中来的。
经验真的就是吃过的苦头中来的,哈哈.
昨天晚上调试了一天,总是搞定了,真心被他忽悠惨了,真心是dll内部出现问题!谢谢老马兄弟了!
主要原因在于dll的初始化失败, 被引用的dll所引用的其它dll只是导致失败的其中一个原因
还有正常的dll函数没法正常call...
lz把你的exe编译后再试一下
如果你引用的dll有其他的依赖不存在也会报这个错误的
这DLL,感觉真不是这么玩的。好歹也封装成COM组件啊。
放在系统的文件下C:\WINDOWS\system32,我的系统是xp的,不知道你是哪个系统,你可以试一下,我是这么放的可以调用
最好DLL的路径中不要有中文。
把DLL反编译一下,看看还引用了哪些DLL和外部资源
相对路径我也试过了,也是不行
哈哈,这问题多半是提供DLL的公司的问题!但表现上又是VB6的一个BUG!我以前遇到过类似的问题,楼主可以参考一下,判断你自己的情况是否与此一样:
我也是曾经拿到一个SDK,开发时调用它们的API,但报了53文件未找到,但那个文件明明就在那里,路径是绝对不可能错的.
于是编译EXE后用OD跟踪一下,最终发现问题的关键不是在于VB6报的那个DLL,那个DLL是存在的;问题的关键在于,此DLL中所需要使用的一个或多个DLL不存在!
在VB6中,如果目标DLL的依存DLL不存在,而导致这个目标DLL初始化失败,VB6是会报这个目标DLL为53错误的,这个错误非常迷惑人.
楼主想要检查是否是这个原因引起的,那很简单,利用VS6里面自带的DEPENDS.EXE(要安装的时候装上VC才会有)去打开这个DL,然后看看依赖项里是否有问号,如果有,那就是它了
谢谢马哥 遇到一样的问题。解决了
可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。