新建---類庫---把你的函數(shù)放在新建的類庫中-----生成ClassLibrary1
祥符網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),祥符網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為祥符上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的祥符做網(wǎng)站的公司定做!
在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
命令提示中運用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm
ClassLibrary1.dll
/tlb回車就會在當(dāng)前目錄生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可。
把C#或VB代碼通編譯成msil后,相應(yīng)版本的framework執(zhí)行...如果你用.net寫一個VB文件,在VB語言環(huán)境下建立一個類庫,然后在BIN\Debug下就可以找到DLL..NET默認(rèn)工程是類庫編譯后才是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對象),并導(dǎo)出類型庫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 這樣的方法了
如果有騰訊電腦管家直接打開管家。管家打開后找到電腦診所-右上角有個問題搜索
直接把你缺失的dll文件復(fù)制進去,找到答案后點擊立即修復(fù)。完成重啟即可。
也不用費事去百度搜了 。下載的東西還捆綁一堆東西。
一、帶窗體的dll創(chuàng)建
1、先新建 類庫(testdll),在項目中添加兩個窗體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中的窗體,選 擇 “項目”-“添加引用”,選擇剛才創(chuàng)建的testdll
2、窗體代碼中先引用testdll,再定義一個testdll中的fm1對象,最后執(zhí)行對象的show方法
3、運行結(jié)果如下:
在您的代碼中,您已經(jīng)成功使用了RegAsm命令將DLL注冊為COM組件,并在VB6中成功引用了該組件的類型庫文件(TLB文件)。此外,您還在VB6代碼中聲明了一個YCImageDo類型的對象,并成功創(chuàng)建了該對象。
但是,當(dāng)您嘗試使用YCImageDo對象的屬性和方法時,卻發(fā)現(xiàn)這些成員不可見。這可能是因為在編寫DLL代碼時您沒有正確地聲明這些成員的可見性。
在VB.NET中,您可以使用"Public"關(guān)鍵字來聲明一個類型的成員(屬性、方法、過程等)對外可見,而使用"Private"關(guān)鍵字則聲明該成員僅在類型內(nèi)可見。如果您希望YCImageDo類型的成員在VB6代碼中可見,則應(yīng)將這些成員聲明為Public類型。
例如,如果您希望YCImageDo類型擁有一個名為"GetImage"的方法,則可以在DLL代碼中按如下方式聲明該方法:
Public Function GetImage() As String
' 在這里編寫方法的代碼
End Function
同樣,如果您希望YCImageDo類型擁有一個名為"ImagePath"的屬性,則可以在DLL代碼中按如下方式聲明該屬性:
Public Property ImagePath As String