vb文件未找到dll

我用cb写了一个dll,然后我用VB调用它,我在自己电脑上就把dll和VB工程放同一目录一切正常,然后我把exe和dll拷到别的电脑上,dll就和exe放一起的,就提示找... 我用cb写了一个dll,然后我用VB调用它,我在自己电脑上就把dll和VB工程放同一目录一切正常,然后我把exe和dll拷到别的电脑上,dll就和exe放一起的,就提示找不到这个dll,这到底是什么问题?
注册我一开始就用过了,但是提示找不到library模块的,system32目录这个我也放过的,主要是我自己电脑就可以,别的电脑就不行,我和别的电脑弄成一样的,就一个文件夹,我电脑就可以的,谢谢各位百度好友解答!
自己已解决,是dll编译的时候,在工程里Vcl不要勾再生成dll就可以了
展开
 我来答
anderdon
2008-02-22 · TA获得超过424个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:415万
展开全部
需要在"开始"-->"运行"中注册.
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。

DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。

DLL的全称是Dynamic Link Library, 中文叫做“动态链接文件”。在Windows操作系统中, DLL对于程序执行是非常重要的, 因为程序在执行的时候, 必须链接到DLL文件, 才能够正确地运行。而有些DLL文件可以被许多程序共用。因此, 程序设计人员可以利用DLL文件, 使程序不至于太过巨大。但是当安装的程序越来越多, DLL文件也就会越来越多, 如果当你删除程序的时候, 没有用的DLL文件没有被删除的话, 久而久之就造成系统的负担了。

DLL是动态连接库。使用动态连接库的一些好处是:
1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.在钩子程序过滤系统消息时必须使用动态连接库。
3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。
4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用AppWizard生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。
VC++、C++ Builder、Delphi都可以编写DLL文件。Visual Basic 5.0以上版本也可以编写一种特殊的DLL,即ActiveX DLL。

DLL不是独立运行的程序,它是某个程序的一个部分,它只能由所属的程序调用。用户不能,也不需要打开它。

Trackback地址: http://www.yculblog.com/trackback/0/167063

就比如第一次入学,虽然你坐在教室里.但是如果没有写你的档案,老师是不会认识你的.也就不会找到你.

同样道理,如果DLL文件没有注册,系统注册表中就没有这个DLL文件信息.那么等到调用的时候,因为不知道这个DLL文件的位置,只能报告没有这个DLL.所以这时候就需要注册DLL了.
WINDOWS系统的DLL不用注册.因为安装时已经注册好了.

注册:
regsvr32 文件名
解除注册
regsvr32 文件名 /u
不弹出信息框
regsvr32 文件名 /i
freeeeeewind
推荐于2016-02-13 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1363万
展开全部

解决这个问题,必须按照VB搜索和加载动态链接的规则放置动态链接文件。规则如下:

1)如果在VB中声明Dll函数时,Lib所指动态链接库文件不带路径而只有文件名,如以下语句所示:

Public Declare Function MyFunc Lib "Mydll.dll" (ByVal x As Long) As Long

则动态链接库文件 Mydll.dll 必须放置在:

  • VB程序运行的当前文件夹中

  • 或者,放置在%WinDir\System32%文件夹中(通常为 C:\Windows\System32)

2)如果在VB中声明Dll函数时,Lib所指动态链接库文件带路径名,如以下语句所示

Public Declare Function MyFunc Lib "C:\Mydll.dll" (ByVal x As Long) As Long

则动态链接库文件 Mydll.dll 必须放置在所指定的文件中,即 C:\中

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeaky369
2008-02-22 · 超过11用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:20.3万
展开全部
你所做的编译没有脱离那种语言的环境,所以就会出现这样的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
struggle_luan
2008-02-22 · TA获得超过208个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:0
展开全部
您可以把这个DLL放到system32里面看看.
分给楼上,楼上正解~

补充`
"但是提示找不到library模块的"
那就不是找不到dll
您是不是dll还需要框架或者语言库?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love_u365s
2008-02-22 · TA获得超过983个赞
知道小有建树答主
回答量:1269
采纳率:50%
帮助的人:0
展开全部
放到system32里注册一下试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式