一、帶窗體的dll創(chuàng)建
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元明山做網(wǎng)站,已為上家服務,為明山各地企業(yè)和個人服務,聯(lián)系電話:028-86922220
1、先新建 類庫(testdll),在項目中添加兩個窗體form1(主窗體)、form2,為了與后面的調用區(qū)分分別命名為fm1,fm2;并在fm1窗體中添加一個按鈕用來調用fm2如下圖
2、在fm1窗體代碼中先引用fm2, ? ?按鈕代碼調用fm2.如圖
3、生成dll,(class1.vb中不需要寫任何代碼)
二、調用dll
1、新建 一個windows應用程序并添加一個按鈕用來調用dll中的窗體,選 擇 “項目”-“添加引用”,選擇剛才創(chuàng)建的testdll
2、窗體代碼中先引用testdll,再定義一個testdll中的fm1對象,最后執(zhí)行對象的show方法
3、運行結果如下:
上級目錄不可以,但是為了保證程序路徑改變,引用不會被破壞。可以有幾個方法:
1.將DLL文件放在程序同級目錄
2.將DLL文件放在程序子目錄
3.將DLL文件放在System32目錄下(系統(tǒng)目錄,可以直接引用DLL)
4.可以將DLL文件打包成資源文件,融合到EXE程序中,每次執(zhí)行判斷同級目錄是否有DLL文件,不存在,釋放資源文件。
VB.net語言
1、創(chuàng)建組件定義
新建一個Probject,在代碼中寫入:
Public Interface IDemo
Function Test() As String
End Interface
2、實現(xiàn)組件定義
新建一個Probject,添加對上述Probject的引用后,在代碼中寫入
Public Class Demo
Implements IDemo.IDemo
Public Function Test() As String Implements IDemo.IDemo.Test
Test = "Hello World!"
End Function
End Class
3、編譯出Demo.dll組件
4、使用.net的工具 Visual Studio .Net 2003 Command Prompt,輸入以下命令
Regasm Demo.dll /tlb:Demo.tlb
把Demo.dll注冊為一個com對象(這個com對象不等同于普通的用VB編寫的Com對象),并導出類型庫Demo.tlb
5、新建一個VB工程,添加對Demo.tlb和IDemo.tlb的引用
6、定義兩個全局變量
Dim vbDemo As Demo.Demo
Dim vbIDemo as IDemo.IDemo
7、在Form_Load事件中初始化
'初始化實體類
Set vbDemo = New Demo.Demo
'將實體類引用到抽象類
Set vbIDemo = vbDemo
8、然后,我們就可以用 vbIDemo.Test 這樣的方法了