如何动态引用DLL文件?

消失风雨中 2004-06-26 02:41:44
我想在一个工程中动态引用一个VB做的DLL文件,应该怎么写??
...全文
146 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fxy_2002 2004-06-30
  • 打赏
  • 举报
回复
VB生成的DLL一定要注册的,呵呵。

你应该只是不想做安装程序吧?可以使用动态注册的方法:

on error goto aErr

Dim dllObj As Object, regTry As Boolean
Set dllObj = CreateObject("Dll.class") '你的类名

msgbox "成功建立对象"
Exit sub

aErr:
If Err.Number = 429 And Not regTry Then
'引用dll错误且dll库存在,尝试注册它一次
If Dir("dll文件名") <> "" Then
'带 /s 参数运行 regsvr32,不显示信息框
'另文件名要用两个 chr(34) 即双引号括起,防止路径中有空格
Shell "Regsvr32 " & Chr(34) & "dll文件名" & Chr(34) & " /s", vbHide
regTry = True
Resume
End If
End If

msgbox "类库不存在或无法正常创建对象"


用以上代码就可以了。如果不想保留dll注册的信息,可在对象用完后再用 shell regsvr32 /u /s "dll文件名" 注销它。

消失风雨中 2004-06-30
  • 打赏
  • 举报
回复
我不想在工程运行时加载DLL文件,也不想注册,只是想在要用的时候加载,不知道有没有这样的方法。
supergreenbean 2004-06-26
  • 打赏
  • 举报
回复
呵呵,你说的大概就是用CreateObject创建对象了
wxyq 2004-06-26
  • 打赏
  • 举报
回复
SET OBJECT =OBJECTCREATE("DLL.CLASS")
SET OBJECT =loadbibrary(PATH & "\DLL.DLL")
hhjjhjhj 2004-06-26
  • 打赏
  • 举报
回复
用Createobject达不到目的吗?
消失风雨中 2004-06-26
  • 打赏
  • 举报
回复
我记得好像有个函数大概是loadbibrary,但我不知道是不是,也不知道怎么用
dongge2000 2004-06-26
  • 打赏
  • 举报
回复
静态引用,动态调用,明白不?
dongge2000 2004-06-26
  • 打赏
  • 举报
回复
kk

7,763

社区成员

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

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