加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB无所不能之五:建立“标准”DLL动态链接库文件(2)

发布时间:2020-12-16 22:34:13 所属栏目:大数据 来源:网络整理
导读:VB无所不能之五:建立“标准”DLL动态链接库文件(2) ——作者:钟声 博客地址: http://blog.csdn.net/useway 昨天我们讲到,如何通过特殊方法获取OBJ文件,那么今天我们继续讲如何进行编译连接。 昨天的上一篇: http://blog.csdn.net/useway/archive/201
VB无所不能之五:建立“标准”DLL动态链接库文件(2)
——作者:钟声
博客地址:http://blog.csdn.net/useway
昨天我们讲到,如何通过特殊方法获取OBJ文件,那么今天我们继续讲如何进行编译连接。
昨天的上一篇: http://blog.csdn.net/useway/archive/2010/04/14/5487046.aspx
一、首先我们看看这种特殊方法的操作准备步骤:
步骤一:建立一个假的“Link.exe”;
建立一个新的项目,在那个项目中建立一个“Form”,然后,在“Form”中加入如下代码:
Sub Form_Load()
MsgBox "现在可以拷贝OBJ文件了!!"
End
End Sub
编译为:Link.exe
步骤二:将“C:/Program Files/Microsoft Visual Studio/VB98/Link.exe”改名为“Link2.exe”;
步骤三:将假的那个Link.exe复制到“C:/Program Files/Microsoft Visual Studio/VB98/”中;
、建立一个ActiveX DLL
步骤一:建立一个新项目,选择“ActiveX DLL”,然后建立一个“Module”在代码中加入如下代码:
Function fun1(ByVal a As Long,ByVal b As Long) As Long
fun1 = a + b
End Function

Function fun2() As Long
fun2 = 1
End Function
步骤二:建立一个空的“Class” ;
步骤三:用VB菜单编译;
步骤四:复制出OBJ文件;
当编译的时候会弹出一个对话框:
步骤五:迅速将这个文件夹中新出现的三个文件复制出来;
三个文件分别为:Class1.OBJ,Module1.OBJ,Project1.OBJ
将这三个文件复制到:“c:/abc”这个文件夹。
三、进行编译连接工作
步骤一:建立一个Bat文件,内容如下:
cd c:/Program Files/Microsoft Visual Studio/VB98
link2.exe "c:/abc/Class1.obj" "c:/abc/Module1.obj" "c:/abc/Project1.obj" "d:/Program Files/Microsoft Visual Studio/VB98/VBAEXE6.LIB" /ENTRY:__vbaS /EXPORT:fun1 /EXPORT:fun2 /OUT: "c:/abc/ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERS

步骤二:将这个bat文件复制到“C:/abc”
步骤三:在c:/abc中执行bat文件,生成DLL文件“ProjectOK.dll”在文件夹中
四、好了,现在我们测试一下
建立一个新的项目,再建立一个“Form”,加入两个按钮,在“Form”中粘贴如下代码:
Declare Functionfun1 Lib "ProjectOK.dll" (ByVal a As Long,ByVal b As Long) As Long
Declare Functionfun2 Lib "ProjectOK.dll" () As Long

Sub Command1_Click()
MsgBox fun1(100,200)
End Sub

Sub Command2_Click()
MsgBox fun2()
End Sub
然后,测试一下,呵呵,成功!
.
.
.
《Java程序员,上班那点事儿》:
前言目录
卓越网销售链接
China-pub销售链接
当当网销售链接
《Java程序员,上班那点事》纪念帖
关于下载《Java程序员,上班那点事而》的电子版

原文链接: http://www.52php.cn/article/p-eqjhzrgw-qm.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读