在解決方案中添加一個(gè)類庫(kù)項(xiàng)目,切換到主程序項(xiàng)目,添加引用,在對(duì)話框中選擇項(xiàng)目頁(yè)面,里面就有該類庫(kù)項(xiàng)目。點(diǎn)擊,確定就引用進(jìn)來(lái)了。
創(chuàng)新互聯(lián)建站始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營(yíng)理念,通過(guò)多達(dá)10年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的營(yíng)銷推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:成都辦公窗簾等企業(yè),備受客戶稱贊。
使用時(shí)就是定義該庫(kù)中的類了
如這樣:
Dim c As New ClassLibrary1.Class1
msgbox c.cc()
第二圖中像是聲明一個(gè)API函數(shù)了,既然是類庫(kù)當(dāng)然是類了。
至于生存的Dll文件的注冊(cè)可能要手工進(jìn)行的吧,用RegSvr32.exe。注冊(cè)后在引用對(duì)話框的Com頁(yè)面也應(yīng)該會(huì)出現(xiàn)吧,我用vb6編的一些垃圾東西這里也能找到。
一、帶窗體的dll創(chuàng)建
1、先新建 類庫(kù)(testdll),在項(xiàng)目中添加兩個(gè)窗體form1(主窗體)、form2,為了與后面的調(diào)用區(qū)分分別命名為fm1,fm2;并在fm1窗體中添加一個(gè)按鈕用來(lái)調(diào)用fm2如下圖
2、在fm1窗體代碼中先引用fm2, ? ?按鈕代碼調(diào)用fm2.如圖
3、生成dll,(class1.vb中不需要寫任何代碼)
二、調(diào)用dll
1、新建 一個(gè)windows應(yīng)用程序并添加一個(gè)按鈕用來(lái)調(diào)用dll中的窗體,選 擇 “項(xiàng)目”-“添加引用”,選擇剛才創(chuàng)建的testdll
2、窗體代碼中先引用testdll,再定義一個(gè)testdll中的fm1對(duì)象,最后執(zhí)行對(duì)象的show方法
3、運(yùn)行結(jié)果如下:
我的方案是將相關(guān)dll的放入vb的資源文件中,生成exe,在exe執(zhí)行時(shí)先將dll釋放到exe目錄(或path所在目錄),這樣就只有1個(gè)exe就可以了
新建---類庫(kù)---把你的函數(shù)放在新建的類庫(kù)中-----生成ClassLibrary1
在net程序中---引用----對(duì)應(yīng)目錄下的ClassLibrary1.dll
對(duì)應(yīng)的代碼定義如: Dim mydll As New ClassLibrary1.Class1
最后就可以用mydll調(diào)用你的函數(shù)MyFunction了: mydll .MyFunction(1, 2)
注意:vb.net編寫的DLL不能用API函數(shù)的方式通過(guò)Declare宣告,只能引用的方式使用
vb.net要編寫的DLL能被vb6.0引用,需要先在編譯屬性中選擇“為COM互操作注冊(cè)”打勾
然后在Visual Studio 2008 命令提示中運(yùn)用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm ClassLibrary1.dll /tlb回車就會(huì)在當(dāng)前目錄生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可。