首页   资讯  应用与安全  Web开发  数据库  编程语言  开源服务  管理信息化  商城   技术论坛   
    [栏目导航]>>[主页]>>[编程语言]>>[C、C++、C#]>>[阅读信息]
 [关闭

用.NET2.0编写COM组件供VB调用

发布时间:2008-09-06 10:02:04   点评:0   人气:7 

  

用.NET2.0编写COM组件供VB调用

     这个提法不太合理,个人觉得。只是工程部门原来的程序都是跑在VB上,调用的dll为ATL COM组件; 而现在的新功能开发都建立在.net2003上,于是便出现了 如题所述 的情况,怎样在.NET2.0中编写COM组件供VB调用??

  1.定义接口
  Com是通过抛出接口让外部应用调用的,每个接口、组件都有一个Guid,在.Net中开发Com组件也不例外。
  [Guid(“0bb13346-7e9d-4aba-9ff2-862e0105489a”)]
  public interface IMyService
  {
  //定义接口方法或者属性,每个方法或属性都有一个DISPID属性,供VB等使用
  
   [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)创建对象调用

 [关闭]

查找与[用.NET2.0编写COM组件供VB调用]相关

相关商品
  
  代写 .NET(VB与C#) 中小型程序 + 并提供网络家教服务
 单 价: 130.0
.
  
  小强通讯正宗全新原厂原装摩托罗拉V8键盘软缆组件/排线
 单 价: 55.0
.
  
  小强通讯正宗全新原厂原装摩托罗拉AURA(R1)软带组件/排线
 单 价: 88.0
.
  
  2010年最新YP-P3触摸屏MP5隆重上市,触控震动,魔法桌面小组件
 单 价: 399.0
.
  
  LED 显示屏 滚动屏 制作教程 P10单元板 DIY组件 教程
 单 价: 1.0
.
  
  沧鹏特价313数码型遥控组件(无线遥控开关/灯具遥控器)
 单 价: 28.0
.
  
  福美来二代空调加装套装/福美来空调组件/二代空调支架盖板
 单 价: 89.8
.
  
  激光头 激光发射管 激光管 激光组件 红色强光激光头
 单 价: 1.28
.
  
  单晶太阳能板 太阳能电池组件 太阳能电池板 3W 9V
 单 价: 48.0
.

与[用.NET2.0编写COM组件供VB调用]相邻的C、C++、C#

   上一条:  .Net传值方式主要有以下几种
   下一条:  .NET 2.0得到本页生成的HTML代码
点评(0)  表扬 赞成 补充 纠正 否定 提醒 举报     笔名:
[提交]

京ICP备09058017号

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263findaofinddfw