新聞中心
VB.net編寫(xiě)的dll,供vb6調(diào)用時(shí)dll中的函數(shù)不可見(jiàn)?
在您的代碼中,您已經(jīng)成功使用了RegAsm命令將DLL注冊(cè)為COM組件,并在VB6中成功引用了該組件的類型庫(kù)文件(TLB文件)。此外,您還在VB6代碼中聲明了一個(gè)YCImageDo類型的對(duì)象,并成功創(chuàng)建了該對(duì)象。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、源匯網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開(kāi)發(fā)、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為源匯等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
但是,當(dāng)您嘗試使用YCImageDo對(duì)象的屬性和方法時(shí),卻發(fā)現(xiàn)這些成員不可見(jiàn)。這可能是因?yàn)樵诰帉?xiě)DLL代碼時(shí)您沒(méi)有正確地聲明這些成員的可見(jiàn)性。
在VB.NET中,您可以使用"Public"關(guān)鍵字來(lái)聲明一個(gè)類型的成員(屬性、方法、過(guò)程等)對(duì)外可見(jiàn),而使用"Private"關(guān)鍵字則聲明該成員僅在類型內(nèi)可見(jiàn)。如果您希望YCImageDo類型的成員在VB6代碼中可見(jiàn),則應(yīng)將這些成員聲明為Public類型。
例如,如果您希望YCImageDo類型擁有一個(gè)名為"GetImage"的方法,則可以在DLL代碼中按如下方式聲明該方法:
Public Function GetImage() As String
' 在這里編寫(xiě)方法的代碼
End Function
同樣,如果您希望YCImageDo類型擁有一個(gè)名為"ImagePath"的屬性,則可以在DLL代碼中按如下方式聲明該屬性:
Public Property ImagePath As String
vb.net怎么使用內(nèi)部resources里面的dll
新建---類庫(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編寫(xiě)的DLL不能用
API函數(shù)
的方式通過(guò)Declare宣告,只能引用的方式使用
vb.net要編寫(xiě)的DLL能被vb6.0引用,需要先在編譯屬性中選擇“為COM
互操作
注冊(cè)”打勾
然后在Visual
Studio
2008
命令提示中運(yùn)用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm
ClassLibrary1.dll
/tlb回車(chē)就會(huì)在當(dāng)前目錄生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可。
在Visual Studio中用VB.Net如何創(chuàng)建自己的動(dòng)態(tài)連接庫(kù)dll?
新建---類庫(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編寫(xiě)的DLL不能用
API函數(shù)
的方式通過(guò)Declare宣告,只能引用的方式使用
vb.net要編寫(xiě)的DLL能被vb6.0引用,需要先在編譯屬性中選擇“為COM
互操作
注冊(cè)”打勾
然后在Visual
Studio
2008
命令提示中運(yùn)用RegAsm命令加/tlb命令生成tlb文件
例如:c:\ReleaseRegAsm
ClassLibrary1.dll
/tlb回車(chē)就會(huì)在當(dāng)前目錄生成ClassLibrary1.tlb文件
vb6.0中引用ClassLibrary1.tlb即可。
新聞名稱:vb.net的tlb文件 vbnet trim
網(wǎng)頁(yè)網(wǎng)址:http://fisionsoft.com.cn/article/docsgis.html