VB無所不能之五:建立“標準”DLL動態鏈接庫文件(2)
——作者:鐘聲
昨天我們講到,如何通過特殊方法獲取OBJ文件,那麼今天我們繼續講如何進行編譯連接。
一、首先我們看看這種特殊方法的操作準備步驟:
步驟一:建立一個假的“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:mm /EXPORT:mathadd /EXPORT:rit /OUT: "c:\abc\ProjectOK.dll" /BASE:0x11000000 /SUBSYSTEM:WINDOWS,4.0 /VERS
步驟二:將這個bat文件複製到“C:\abc”
步驟三:在c:\abc中執行bat文件,生成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
然後,測試一下,呵呵,成功!