一、帶窗體的dll創(chuàng)建
創(chuàng)新互聯(lián)自2013年起,先為博湖等服務(wù)建站,博湖等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為博湖企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
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)建了該對象。
但是,當您嘗試使用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
您好,1.右擊解決方案中的項目名稱,選屬性-輸出類型改為:類庫。 (由于默認為輸入應(yīng)用程序,所以這里要改一下輸出類型)
2.按Ctrl+Shift+B
3.到項目下的bin目錄下面的debug或release下面就可以找到剛生成的DLL。
應(yīng)用:
右擊引用-》"添加引用"-瀏覽-找到剛生成的DLL.點OK即可。
右擊解決方案中的項目名稱,選屬性-輸出類型改為:類庫。 (由于默認為輸入應(yīng)用程序,所以這里要改一下輸出類型)
這里要設(shè)置一下,否則它默認只輸出應(yīng)用程序可執(zhí)行文件*.exe,而不輸出*.dll類庫文件。
打開VB,然后先中“ActiveX Dll”工程,然后開始編輯。
編完后,保存一般是以“.cls”和“.vbw”保存。這時你選擇“文件”菜單,彈出下拉框,選中“生成.dll”選項,它就會在上面彈出一個進度條“正在生成.dll文件”。
生成以后是一個有好象齒輪狀的圖標。如果你要引用,就開一個“標準EXE”工程,然后在“工程”選項中,單擊“引用”。
找到你剛才的“.dll”的文件名,在前面的復(fù)選框中打勾,就可以引用你剛才在那里面寫的方法了。