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

来源:互联网 发布:淘宝洛奇英雄传单机版 编辑:程序博客网 时间:2024/05/17 14:27
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 Function fun1 Lib "ProjectOK.dll" (ByVal a As Long, ByVal b As Long) As Long
Declare Function fun2 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程序员,上班那点事而》的电子版
原创粉丝点击