vb.net開發(fā)dll vbnet調(diào)用dll

VB.net編寫的dll,供vb6調(diào)用時dll中的函數(shù)不可見?

在您的代碼中,您已經(jīng)成功使用了RegAsm命令將DLL注冊為COM組件,并在VB6中成功引用了該組件的類型庫文件(TLB文件)。此外,您還在VB6代碼中聲明了一個YCImageDo類型的對象,并成功創(chuàng)建了該對象。

我們提供的服務有:成都網(wǎng)站制作、網(wǎng)站設計、外貿(mào)網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、易縣ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的易縣網(wǎng)站制作公司

但是,當您嘗試使用YCImageDo對象的屬性和方法時,卻發(fā)現(xiàn)這些成員不可見。這可能是因為在編寫DLL代碼時您沒有正確地聲明這些成員的可見性。

在VB.NET中,您可以使用"Public"關鍵字來聲明一個類型的成員(屬性、方法、過程等)對外可見,而使用"Private"關鍵字則聲明該成員僅在類型內(nèi)可見。如果您希望YCImageDo類型的成員在VB6代碼中可見,則應將這些成員聲明為Public類型。

例如,如果您希望YCImageDo類型擁有一個名為"GetImage"的方法,則可以在DLL代碼中按如下方式聲明該方法:

Public Function GetImage() As String

' 在這里編寫方法的代碼

End Function

同樣,如果您希望YCImageDo類型擁有一個名為"ImagePath"的屬性,則可以在DLL代碼中按如下方式聲明該屬性:

Public Property ImagePath As String

怎樣用VB.NET寫和調(diào)用DLl窗體

一、帶窗體的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應用程序并添加一個按鈕用來調(diào)用dll中的窗體,選 擇 “項目”-“添加引用”,選擇剛才創(chuàng)建的testdll

2、窗體代碼中先引用testdll,再定義一個testdll中的fm1對象,最后執(zhí)行對象的show方法

3、運行結果如下:

在Visual Studio中用VB.Net如何創(chuàng)建自己的動態(tài)連接庫dll?

新建---類庫---把你的函數(shù)放在新建的類庫中-----生成ClassLibrary1

在net程序中---引用----對應目錄下的ClassLibrary1.dll

對應的代碼定義如:

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回車就會在當前目錄生成ClassLibrary1.tlb文件

vb6.0中引用ClassLibrary1.tlb即可。

文章題目:vb.net開發(fā)dll vbnet調(diào)用dll
網(wǎng)站地址:http://muchs.cn/article42/dosjiec.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、營銷型網(wǎng)站建設企業(yè)網(wǎng)站制作、網(wǎng)站設計公司、靜態(tài)網(wǎng)站、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司