国产探花免费观看_亚洲丰满少妇自慰呻吟_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)創建對象調用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛南县| 赤壁市| 贵定县| 信丰县| 虎林市| 来凤县| 抚宁县| 准格尔旗| 汉中市| 海门市| 房产| 上虞市| 巴林右旗| 宁陕县| 大田县| 云阳县| 大同县| 陵水| 印江| 宾川县| 车险| 阿荣旗| 张掖市| 通渭县| 澄迈县| 饶河县| 汶川县| 连江县| 郴州市| 葵青区| 绥阳县| 明溪县| 包头市| 林口县| 定日县| 门源| 巴南区| 大余县| 镇康县| 剑川县| 开封市|