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程式員,上班那點事而》的電子版