系统之家 - Windows操作系统&装机软件下载网站!

当前位置: 首页  >  教程资讯  >  电脑教程 使用.NET2.0 编写COM组件供Visual Basic调用

使用.NET2.0 编写COM组件供Visual Basic调用

时间:2023-06-02 16:16:41 来源: 人气:

  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)创建对象调用,

作者

教程资讯

电脑教程排行

系统教程

系统主题