日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在工作中遇到了在VB6.0的程序里要調(diào)用C#的Dll的問題,顯然這兩個(gè)開發(fā)環(huán)境屬于不同的平臺(tái)。在網(wǎng)上拜讀了幾位大師的文章后,在實(shí)際試驗(yàn)中還是會(huì)發(fā)生這樣那樣的問題,最后還是實(shí)現(xiàn)了預(yù)期效果,在此我把我的實(shí)驗(yàn)步驟和注意事項(xiàng)分享如下,希望對(duì)需要之人有所幫助:

實(shí)驗(yàn)環(huán)境:

C#dll的創(chuàng)建使用的是VS2008;VB6.0

一、C#部分

1.用C#創(chuàng)建一個(gè)ClassLibrary項(xiàng)目(VS2008);

2.所有在VB6中要使用的方法都必須通過繼承接口實(shí)現(xiàn),并且為public的(非常重要,沒有繼承接口實(shí)現(xiàn)的方法,在VB6.0里面無法調(diào)用);

Visual Studio 2008(vs2008)
Visual Studio 2008(vs2008) 中文專業(yè)版(含MSDN for SP1) 中文版VS9.0 評(píng)分:
9.8
類別: 編程工具    大小:3.75G    語言: 中文
查看詳細(xì)信息 >>

3.接口和類都需要加入屬性Guid;  

Guid通過VS2008自帶的工具得到:

4.在VS2008的DOS命令工具提示框中運(yùn)行:

sn -k C:\myKey.snk<回車>

在C盤根目錄下生成一個(gè)強(qiáng)名稱文件:myKey.snk(注意這個(gè)強(qiáng)名稱文件的名字可以自己定義,我暫定為myKey.snk)

5. 右擊項(xiàng)目,選擇屬性,打開并編輯項(xiàng)目的屬性對(duì)話框

在Application tab中,點(diǎn)擊Assembly Information按鈕,在打開的對(duì)話框中選中“make Assembly COM-Visible”(重要)

在Build Tab中,最好用Release模式編譯,確認(rèn)選中“Make assembly COM-Visible”(重要)。

在Signing Tab中引入上一步創(chuàng)建的強(qiáng)名稱文件myKey.snk

6. 檢查項(xiàng)目的AssemblyInfo文件,ComVisible應(yīng)設(shè)為true,項(xiàng)目和文件版本不為1.0.*,應(yīng)該是一個(gè)具體的值;

7.編譯這個(gè)項(xiàng)目,生成dll文件。

到此為止,C#的Dll部分已經(jīng)準(zhǔn)備完畢了。

二、VB6部分

1. VB6調(diào)用環(huán)境必須安裝.Net framework 2.0或以上版本,最好是3.5(和VS2008相同的framework);

2. 復(fù)制dll文件進(jìn)入VB6環(huán)境的目標(biāo)文件夾,例如D:根目錄, D:\TestCom.dll

3. 在Dos命令窗口用regasm命令注冊(cè)這個(gè)dll文件生成.tlb文件

regasm D:\TestCom.dll /tlb:D:\TestCom.tlb /codebase

在D:\將會(huì)生成一個(gè)TestCom.tlb文件

4.在Dos命令窗口用gacutil命令添加Dll文件到GAC中(全局程序集緩存),這樣這個(gè)Dll文件在這個(gè)PC中就可以隨處使用

gacutil /I D:\TestCom.dll

5.在VB6項(xiàng)目中,把生成的.tlb文件加入到項(xiàng)目(References)

6. VB6代碼即可調(diào)用tlb文件

Private Sub Command1_Click()

  Dim obj As New t0426a.Class1

  Form1.Label1.Caption = obj.GetString()

End Sub

注意:以上3,4步,需要在VB6環(huán)境的C:\WINDOWS\system32下面有相應(yīng)的exe文件才可運(yùn)行;第4步,可以省去;

還要說明的是,當(dāng)轉(zhuǎn)移這個(gè)VB6生成的exe程序(這個(gè)VB6可執(zhí)行文件引用了C#的dll)到另外一臺(tái)電腦上的時(shí)候,需要把這個(gè)C# Dll文件一同Copy到那臺(tái)電腦上,并且重新執(zhí)行第3步的注冊(cè)生成tlb文件的工作,否則這個(gè)exe程序無法運(yùn)行。

分享到:
標(biāo)簽:需要注意 調(diào)用 哪些地方 文件 VB6
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定