vb调用DLL的问题 我用VB调用了某个DLL,在调试的时候老是说文件未找到,可dll明明就在当前文件夹里面啊,请问这是怎么回事?还有放到别的机器上就没有问题,如果把文件编译一下运行也没有问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要注册 建议你去百度 regsvr32 把要调用的DLL放在程序目录下,或者直接用FILECOPY到WINDOWS目录下,两种方法都可以解决楼主的问题。 请先注册,再引用。注册使用:RegSvr32 xxx.dll 同意楼上,注册之后还要引用。引用的方法是工程-》引用,通过浏览找到你要引用的DLL即可。 拷贝DLL到SYSTEM32目录,或者编译成EXE,因为运行时程序的工作目录是VB的目录 1.进入注册表。搜索你的dll的文件名。将搜到的全删掉。(或者regsvr32 /u mydll.dll) 注册你要用的dll。2.打开vb工程。取消引用你的dll。 保存工程。关闭。然后重新打开。再添加引用。出现你这种情况一般都是dll注册多次。然后引用的是前一次注册的路径。但是那个路径已经不存在dll文件。建议做工程的时候把dll都放在一个目录下。这样会少很多莫名其妙的问题。try it!good luck! 楼主遇到的是不是兼容性问题?调用的dll文件是系统dll还是别的应用程序api,还是自己写的dll?你说如果把文件编译一下运行也没有问题,是编译没有问题,还是编译后调用没有问题?建议重新build调用dll的主程序下次修改dll时使用工程兼容,或者二进制兼容。。 楼上全都是瞎猜。实际上,就是因为你是通过 VB 启动了工程,所以当前路径变成了 VB 所在路径。直接双击工程启动,或者把你的 DLL 放到 VB 目录。当然,放到 Win/System32 也是可以的。被调用文件有一个缺省的搜索顺序,系统目录也在搜索范围。 这个DLL是别的公司做的,我一次也没有注册过,直接复制到程序所在的目录的,不过后来注册了也没用 我有这么几个猜想,1,你的系统里有多个重名的.dll。2,你拿到的这个dll本身就有问题建议,用记事本把你的工程文件.VBP打开,找到你的那个.dll文件的注册表项,然后到注册表里搜,搜不到的话说明你没有注册这个Dll。如果搜到了,但是显示的路径不对,还是说明你注册错了。都没问题的话,说明你的DLL接口有问题。 http://topic.csdn.net/u/20090309/16/2f607d2a-5dba-44d7-a333-188b73415533.html 没有注册的原因。你可以把DLL 拷贝到 C:\WINDOWS\system32下。 进来接分 某个程序中有一个DLL文件,我想调用里边类里的过程.如何弄啊?! 借地方问个批处理的问题 关于VB的问题 关于ADO库的引用问题,高手帮帮忙! 在线等*即时调用API函数的问题! 用VB写了个OCX控件,然后在VC里使用,发现无法使用,各位指点一下。谢谢!!! 问问个位密码的问题 本文零分,但希望喜欢VB的朋友都来看看。算是对一些无知者的回敬也是同僚们的共勉吧:) 我以前用VB4.0做了一个程序,不知为何现在oc25.DLL,vb40016.dll调用时出错? 使用VBScript脚本打开TCP和UDP端口 怎么在数组里面保存两行的文字
注册使用:RegSvr32 xxx.dll
注册你要用的dll。
2.打开vb工程。取消引用你的dll。
保存工程。关闭。然后重新打开。再添加引用。出现你这种情况一般都是dll注册多次。然后引用的是前一次注册的路径。但是那个路径已经不存在dll文件。
建议做工程的时候把dll都放在一个目录下。这样会少很多莫名其妙的问题。
try it!
good luck!
楼上全都是瞎猜。实际上,就是因为你是通过 VB 启动了工程,所以当前路径变成了 VB 所在路径。直接双击工程启动,或者把你的 DLL 放到 VB 目录。当然,放到 Win/System32 也是可以的。被调用文件有一个缺省的搜索顺序,系统目录也在搜索范围。
1,你的系统里有多个重名的.dll。
2,你拿到的这个dll本身就有问题建议,用记事本把你的工程文件.VBP打开,找到你的那个.dll文件的注册表项,然后到注册表里搜,搜不到的话说明你没有注册这个Dll。如果搜到了,但是显示的路径不对,还是说明你注册错了。都没问题的话,说明你的DLL接口有问题。