新聞中心
VB.NET調(diào)用VB6 封裝的DLL(包含F(xiàn)ORM),提示無(wú)法引用
我做過(guò),但是具體忘記了。不過(guò)給你個(gè)提示:VB6生成的是COM組件,不是提供輸出函數(shù)過(guò)程的DLL無(wú)法通過(guò)普通的DLL聲明--調(diào)用函數(shù)??梢詤⒖糣B6中調(diào)用VB6的DLL(設(shè):1.DLL class類名為:classtest 過(guò)程/函數(shù)名為:MTEST)調(diào)用
成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、重慶網(wǎng)站建設(shè)公司、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)成都企業(yè)網(wǎng)站定制等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:報(bào)廢汽車回收等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致稱譽(yù)!
dim objecttest as objectset object=createobject("1.classtest ")objtest.Mtest
手頭沒(méi)有VB6+NET工具 沒(méi)辦法,只能到這了,希望對(duì)你有幫助
在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編寫的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即可。
Vb.net Dll封裝的類,在其他程序調(diào)用該類的時(shí)候有沒(méi)有辦法得到當(dāng)前的窗體?
你這個(gè)需求很奇怪,也不好實(shí)現(xiàn)
那你這個(gè)CloseForm在哪里調(diào)用?
ColseForm(Form Me){
Me.Close();
}
其它地方的窗體調(diào)用這個(gè)方法就直接用:CloseForm(this);
vb中如何將類模塊封裝成dll文件?
將寫好的類模塊里面的內(nèi)容全部copy下來(lái),新建一個(gè)activeX
Dll工程,粘貼到class里面去,文件-〉生成dll就可以了。
提醒:vb創(chuàng)建的是activeX
Dll,要用createobject方法調(diào)用!
.net 代碼如何封裝成dll
建立個(gè)類庫(kù)項(xiàng)目,但是.net的類庫(kù)項(xiàng)目生成的dll只能給.net自己使用,所有要寫成.NET的COM組件才能給如VB6程序使用。
如下就是.net COM組件格式了。但是給別人用也要裝.net framwork
[Guid 為工具里創(chuàng)建,你還要用簽名一個(gè).snk文件,然后把這個(gè)類庫(kù)項(xiàng)目屬性里加上這個(gè)簽名
簽名文件產(chǎn)生你可以到.net SDK運(yùn)行命令 sn -k name.snk產(chǎn)生簽名文件,然后再項(xiàng)目里加上簽名文件。
namespace Test
{
[Guid("A7EB3BC2-FFB9-471b-BE23-8AAA365946F5")]
public class testclass
{
public testclass()
{
}
//一定要這個(gè)這是標(biāo)明COM組件的入口地址,每個(gè)給外面接口的都要寫這個(gè)如[DispId(2]中間數(shù)字不能重復(fù)
[DispId(1)]
public string hello(string whatyouwantoencrypt)
{
return "hello!,you want to crypt:" + whatyouwantoencrypt;
}
然后再VB腳本里可以這樣調(diào)用
dim SppClient
Set SppClient= CreateObject("Test.testclass")
記的一定要[Guid("A7EB3BC2-FFB9-471b-BE23-8AAA365946F5")]
[DispId(1)]
和簽名,否則不能生成有用的COM組件。
VB.NET如何調(diào)用封裝好的dll類中的方法?
比如有一個(gè)類是You.dll,里面有一個(gè)封裝好的方法是YouSub(byval a as system.array)
在工程里面,你在引用中,添加引用,選擇You.dll的路徑所在,添加引用;
添加引用后,要定義一個(gè)類,并實(shí)例化他
dim you as You=new You()
you.YouSub("參數(shù)")
分享標(biāo)題:vbnet封裝dll telnet封裝
文章鏈接:http://fisionsoft.com.cn/article/dodcpeh.html