一、帶窗體的dll創(chuàng)建
創(chuàng)新互聯(lián)專注于湟源企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。湟源網(wǎng)站建設(shè)公司,為湟源等地區(qū)提供建站服務(wù)。全流程按需定制,專業(yè)設(shè)計,全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
1、先新建 類庫(testdll),在項(xiàng)目中添加兩個窗體form1(主窗體)、form2,為了與后面的調(diào)用區(qū)分分別命名為fm1,fm2;并在fm1窗體中添加一個按鈕用來調(diào)用fm2如下圖
2、在fm1窗體代碼中先引用fm2, ? ?按鈕代碼調(diào)用fm2.如圖
3、生成dll,(class1.vb中不需要寫任何代碼)
二、調(diào)用dll
1、新建 一個windows應(yīng)用程序并添加一個按鈕用來調(diào)用dll中的窗體,選 擇 “項(xiàng)目”-“添加引用”,選擇剛才創(chuàng)建的testdll
2、窗體代碼中先引用testdll,再定義一個testdll中的fm1對象,最后執(zhí)行對象的show方法
3、運(yùn)行結(jié)果如下:
上級目錄不可以,但是為了保證程序路徑改變,引用不會被破壞??梢杂袔讉€方法:
1.將DLL文件放在程序同級目錄
2.將DLL文件放在程序子目錄
3.將DLL文件放在System32目錄下(系統(tǒng)目錄,可以直接引用DLL)
4.可以將DLL文件打包成資源文件,融合到EXE程序中,每次執(zhí)行判斷同級目錄是否有DLL文件,不存在,釋放資源文件。
新建---類庫---把你的函數(shù)放在新建的類庫中-----生成ClassLibrary1
在net程序中---引用----對應(yīng)目錄下的ClassLibrary1.dll
對應(yīng)的代碼定義如:
Dim
mydll
As
New
ClassLibrary1.Class1
最后就可以用mydll調(diào)用你的函數(shù)MyFunction了:
mydll
.MyFunction(1,
2)
注意:vb.net編寫的DLL不能用
API函數(shù)
的方式通過Declare宣告,只能引用的方式使用
vb.net要編寫的DLL能被vb6.0引用,需要先在編譯屬性中選擇“為COM
互操作
注冊”打勾
然后在Visual
Studio
2008
命令提示中運(yùn)用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm
ClassLibrary1.dll
/tlb回車就會在當(dāng)前目錄生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可。