新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 使用.NET2.0 編寫COM組件供Visual Basic調(diào)用

        使用.NET2.0 編寫COM組件供Visual Basic調(diào)用

        作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

        1.定義接口

        本文引用地址:http://www.104case.com/article/201609/303764.htm

        Com是通過拋出接口讓外部應(yīng)用調(diào)用的,每個接口、組件都有一個Guid,在.Net中開發(fā)Com組件也不例外。

        [Guid(“0bb13346-7e9d-4aba-9ff2-862e0105489a”)]

        public interface IMyService

        {

        //定義接口方法或者屬性,每個方法或?qū)傩远加幸粋€DISPID屬性,供VBScript等使用

        [DispId( 1 )]

        void Method1( args … );

        }

        2.實現(xiàn)接口的派生類

        //Guid屬性定義組件的Guid

        //ProgID定義Com組件的ProgID

        [Guid(

        ba0a3019-f0d8-4406-8116-f80d5515c686 ) ,

        ProgId(ClassNamespace.MyService),

        ClassInterface(

        ClassInterfaceType.None)]

        public class

        MyService : IMyService

        {

        …… //實現(xiàn)代碼部分

        }

        3.將.Net裝配件轉(zhuǎn)換為公有裝配件

        (1)創(chuàng)建強名字

        sn –k mykey.snk

        并將強名字拷貝到工程目錄下面

        在AssembyInfo.cs修改對應(yīng)的配置

        [assembly: AssemblyKeyFile(“../../mykey.snk”)]

        (2)導(dǎo)出類型庫

        為了在VB中使用,必須使用tlbexp.exe導(dǎo)出Com類型庫。

        tlbexp SisCalLib.dll /out:SisCalLib.tlb

        (3注冊裝配件

        RegAsm MyService.dll

        (4)將裝配件加入GAC

        gacutil -i MyService.dll

        注意:該步驟不是必須的。

        (5)在AssembyInfo.cs修改COM對外可見性配置

        // 將 ComVisible 設(shè)置為 false 使此程序集中的類型

        // 對 COM 組件不可見。如果需要從 COM 訪問此程序集中的類型,

        // 則將該類型上的 ComVisible 屬性設(shè)置為 true。

        [assembly: ComVisible(true)]

        // 如果此項目向 COM 公開,則下列 GUID 用于類型庫的 ID

        [assembly: Guid(e011ed16-93a3-41aa-8375-399fa259b935)]

        經(jīng)過上面的工作,就將一個.NET裝配件轉(zhuǎn)化為

        4.在VB中調(diào)用生成的(dll)

        1)工程->引用

        2)創(chuàng)建對象調(diào)用



        關(guān)鍵詞: .NET2.0 COM組件 linux

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 长海县| 波密县| 永嘉县| 富阳市| 鄂托克前旗| 句容市| 永川市| 凤山市| 岑溪市| 双柏县| 济南市| 镇平县| 博爱县| 沙坪坝区| 探索| 拉萨市| 施甸县| 台东市| 得荣县| 久治县| 石棉县| 竹山县| 连城县| 出国| 措勤县| 玉山县| 汾西县| 乡城县| 宁德市| 庆阳市| 额敏县| 宣恩县| 偏关县| 长沙市| 台中市| 鞍山市| 肇东市| 襄城县| 阳西县| 米林县| 藁城市|