国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

使用.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

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

  (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)創建對象調用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长子县| 老河口市| 晋州市| 宾阳县| 伊宁县| 抚松县| 分宜县| 遂昌县| 乐山市| 兴国县| 桐柏县| 罗江县| 本溪| 灵石县| 桐乡市| 周口市| 大洼县| 察哈| 磐安县| 木兰县| 白河县| 清水县| 神农架林区| 尼勒克县| 西畴县| 辉南县| 常宁市| 宜州市| 宜城市| 政和县| 灵宝市| 盱眙县| 泌阳县| 望江县| 贞丰县| 梁平县| 皮山县| 镇平县| 兴文县| 中山市| 武功县|