| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 351 人关注过本帖
标题:[转贴]动态加载dll
收藏  订阅  推荐  打印
lzn3303768
Rank: 2
等级:注册会员
帖子:55
积分:698
来自:土星
注册:2008-5-24
[转贴]动态加载dll

我们都知道VB加载dll可以通过vb中引用来实现,可是需要动态引用呢?我通过摸索发现可以先regsvr32那个dll,然后在vb中createobject(dll插件为vb编译,若为标准dll,loadlibrary即可)。 详细代码如下
复制内容到剪贴板
代码:

Dim t As String
Open "list.txt" For Input As #1
Open "reg.bat" For Output As #2
Do Until EOF(1)
Input #1, t
Print #2, "regsvr32 " & t & " /s" '注册控件
t = Replace(t, ".dll", "")
List1.AddItem t
Loop
Close
Close
Shell ("reg.bat")



'使用部分
Dim a As Object
Dim b As String
b = List1.Text & "startclass"
Set a = CreateObject(List1.Text & "." & b) ‘工程名 + . +类名
a.run
原帖地址:[url]http://www.5ixbc.net/post.php?action=edit&fid=12&tid=456&pid=763&page=1&extra=page%3D1[/url]
2008-5-24 22:15
三断笛
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:907
积分:10007
威望:9
注册:2007-5-24

CreateObject效率比较低 MSDN上说的

滚滚红尘中的白痴..........
2008-5-24 22:33
lzn3303768
Rank: 2
等级:注册会员
帖子:55
积分:698
来自:土星
注册:2008-5-24

关键是动态的,要不才不用createobject呢
2008-5-25 09:12
flyue
Rank: 6Rank: 6
等级:金牌会员
帖子:1713
积分:17800
威望:6
注册:2006-6-20

要是用户的电脑里没有regsvr32.exe或regsvr32.exe被病毒感染了那怎么办?

大家一起来编程吧!
2008-5-25 14:40
multiple1902
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:4472
积分:45604
威望:40
注册:2007-2-9

引用:
flyue 在 2008-5-25 14:40 的发言:

要是用户的电脑里没有regsvr32.exe或regsvr32.exe被病毒感染了那怎么办?
一般不考虑吧
2008-5-25 18:55
lzn3303768
Rank: 2
等级:注册会员
帖子:55
积分:698
来自:土星
注册:2008-5-24
回复 4# flyue 的帖子

程序自己内置一个,运行时释放出来
2008-5-25 21:18
multiple1902
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:4472
积分:45604
威望:40
注册:2007-2-9

引用:
lzn3303768 在 2008-5-25 21:18 的发言:

程序自己内置一个,运行时释放出来
好主意!
2008-5-25 21:31
lzn3303768
Rank: 2
等级:注册会员
帖子:55
积分:698
来自:土星
注册:2008-5-24

用二进制存贮到时候释放(不可用字符,用字符的不能运行)
2008-5-25 21:46
共有 350 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.085249 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved