急问大虾:dll文件的存放位置!!在线等!!---实时错误'53':文件未找到:secdll.dll

happy_me 2002-12-26 07:57:08
在VB里调一个用VC打包的dll文件(secdll.dll),我把secdll.dll放到了与.vbp,.vbw等文件同一级的目录下了,同时也在winnt\system下面放了secdll.dll,
在我的win2000机子上没有问题,能找到该dll文件并进行调用;
但把该vb应用程序安装到另一win2000的机子(同时保持vb程序和secdll的目录层次关系),却无法找到该dll文件,提示信息为“实时错误'53':文件未找到:secdll.dll”

请教大虾:原因?
...全文
930 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy_me 2003-01-04
  • 打赏
  • 举报
回复
和和,regsvr32 secdll.dll我用过
甚至在这个命令里包含了secdll.dll的完整路径(其实也没用,因为本身secdll.dll就是在winnt\system32\目录下的),都不行
hanzye 2003-01-04
  • 打赏
  • 举报
回复
只要你的.dll文件没有问题用regsvr32注册一下肯定可以用,这个操作我都做到不爱做了。如果路径弄不清,就在MS-dos下进入secdll.dll所在的这个目录下运行regsvr32 secdll.dll

另一种方面可先将这相.dll文件复制到工程文件夹下,
在VB的菜单中选 工程、引用、浏览,打开你要的文件,也可以
只是这样在最后打包时这个.dll文件一直都要与.exe文件在一起。
守城小轩 2003-01-03
  • 打赏
  • 举报
回复
regsvr32 secdll.dll
======================QQYY_sj==========================
happy_me 2003-01-03
  • 打赏
  • 举报
回复
主  题: VB找不到VC编译的DLL文件
作  者: Tryingboy (努力男孩)
等  级:
信 誉 值: 100
所属论坛: VB 基础类
问题点数: 100
回复次数: 9
发表时间: 2003-01-03 16:52:26


"用VC编译的DLL文件,放在系统的system文件中,在VB中调用,已经在模块中有申明,可是程序却总是提示找不到这些DLL文件。申明使用绝对路径也没用,明明文件夹中有这些DLL文件的。为什么?"

我的问题和他一样的;
请各位大侠帮忙啊;急于解决这个问题!
happy_me 2003-01-03
  • 打赏
  • 举报
回复
我在dos方式下使用了命令:regsvr32 secdll.dll
不能注册,因为“Library load failed,can not be found”
happy_me 2003-01-03
  • 打赏
  • 举报
回复
是什末原因啊?csdn出故障了吗?
怎末下午有9个回复,现在突然变成了5个?
of123 2003-01-03
  • 打赏
  • 举报
回复
不必注册。
试试在VB安装目录下也Copy一个secdll.dll,因为在调试运行的场合下,系统认为当前目录是VB所在目录。
happy_me 2003-01-03
  • 打赏
  • 举报
回复
我用depends.exe打开了secdll.dll
却不知道哪些是它的导出函数
显示的函数有:MFC42D.DLL、MSVCRTD.DLL、KERNEL32.DLL

这些市不是就是secdll.dll的导出函数啊?
holydiablo 2003-01-03
  • 打赏
  • 举报
回复
只有COM才需要注册,主要是因为它有一个GUID,用来在全球范围内唯一地标示自己。
一般我们说的DLL指正则DLL,也就是只有函数接口的动态链接库,而VB写的DLL是ActiveXDLL,说白了,它是在COM的基础上产生的,虽然也拥有一点DLL的特征,它的确可以导出函数,但是都是基本的注册或是注销函数,它的本质还是COM,还是通过类型库来导出自己的接口。
直接如果分辨一个DLL是不是ActiveXDLL,可以用Depends.exe查看它的导出函数,如果其中有DllRegisterServer之类的函数那就是ActiveXDLL,它需要注册,如果没有,那么就是一般的正则DLL,不需要注册
happy_me 2003-01-03
  • 打赏
  • 举报
回复
我在自己的win2000机子的确没注册该dll,但能正确调用

但到了别人的win2000下就不行。
而且在别人的机子上,先把secdll.dll拷贝到system32下,再到dos方式下,输入regsvr32 secdll.dll显示“找不到secdll.dll”
为什末?

请教各位大虾:
1)究竟是否需要注册该dll?
2)为何我在别人机子上dos下regsvr32 secdll.dll都不行?应该怎样???

虚心等待各位大侠回复!!
_TMG_ 2002-12-27
  • 打赏
  • 举报
回复
这个 DLL 100% 是不用注册的, 因为不会是 COM, COM 应该报错是无法创建对象, 只是一个普通的 DLL 而已
holydiablo 2002-12-27
  • 打赏
  • 举报
回复
你还是把secdll.dll放在system32下吧
suntt 2002-12-27
  • 打赏
  • 举报
回复
你有没有注册你的dll
_TMG_ 2002-12-27
  • 打赏
  • 举报
回复
放到 System32 (NT/2000/XP), System(98/95/ME)

或者

Application Folder下
jacklee19822001 2002-12-26
  • 打赏
  • 举报
回复
运行regsvr32 secdll.dll
试试

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧