a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 網管 > 服務器 > 正文

使用.NET2.0 編寫COM組件供Visual Basic調用

2020-05-27 13:51:27
字體:
來源:轉載
供稿:網友

  1.定義接口

  Com是通過拋出接口讓外部應用調用的,每個接口、組件都有一個Guid,在.Net中開發Com組件也不例外。

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

  public interface IMyService

  {

  //定義接口方法或者屬性,每個方法或屬性都有一個DISPID屬性,供VBScript等使用

  [DispId( 1 )]

  void Method1( args … );

  }  

  2.實現接口的派生類

  //Guid屬性定義組件的Guid

  //ProgID定義Com組件的ProgID

  [Guid(

  "ba0a3019-f0d8-4406-8116-f80d5515c686" ) ,

  ProgId("ClassNamespace.MyService"),

  ClassInterface(

  ClassInterfaceType.None)]

  public class

  MyService : IMyService

  {

  …… //實現代碼部分

  }  

  3.將.Net裝配件轉換為公有裝配件

  (1)創建強名字

  sn –k mykey.snk

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

  在AssembyInfo.cs修改對應的配置

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

  (2)導出類型庫

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

  tlbexp SisCalLib.dll /out:SisCalLib.tlb  

  (3注冊裝配件

  RegAsm MyService.dll  

  (4)將裝配件加入GAC

  gacutil -i MyService.dll

  注意:該步驟不是必須的?! ?/p>

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

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

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

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

  [assembly: ComVisible(true)]  

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

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

  經過上面的工作,就將一個.NET裝配件轉化為COM組件。  

  4.在VB中調用生成的COM組件(dll)

  1)工程->引用  

  2)創建對象調用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一区二区三区四区五区 | 亚洲欧洲精品成人久久奇米网 | 日本高清精品 | 99视频这里有精品 | 天天操天天碰 | 另类免费视频 | 青青青久草 | 欧美一区二区三区爽大粗免费 | 国产精品99| 国产精品视频999 | 一区二区三区在线 | 欧 | 中文字幕日韩在线视频 | 狠狠色噜噜狠狠狠8888米奇 | 亚洲不卡网站 | 精品免费视频一区二区 | 欧美成人在线影院 | 高清色 | 久久九| 欧美日韩一区二区三区在线观看 | 成人超碰在线 | 欧美一级免费 | 黄网站在线播放 | 日本视频在线播放 | 91高清视频在线观看 | 国产精品一区2区 | 成人免费高清 | 一区二区三区四区精品 | 禁果av一区二区三区 | 欧美日韩国产高清视频 | 久久亚洲精品国产一区最新章节 | 香蕉大人久久国产成人av | 欧美一级大片免费 | 亚洲高清一区二区三区 | 免费福利电影 | 激情视频区 | 激情毛片 | 欧美成年网站 | 99久久婷婷国产综合精品 | 欧美日韩久久精品 | 男女看片黄全部免费 | 午夜看片|