首页   资讯  应用与安全  Web开发  数据库  编程语言  开源服务  管理信息化  IT商城   技术论坛   up
    [栏目导航]>>[主页]>>[编程语言]>>[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调用]相关

相关商品
  
  超级1型500MB支持动易组件 asp asp.net access jmail
 单 价: 750.0
.
  
  墨斋正版]圣殿祭司的ASP.NET核心技术范例手册(附光盘VB版)/科学
 单 价: 67.14
.
  
  全新全套源代码PB VB NET VC DEHPI JAVA 原价380 现价88元
 单 价: 88.0
.
  
  佳能 NPG18 鼓组件IR2200 2800 3300 鼓组件
 单 价: 480.0
.
  
  情人节礼物巧匠屋 珍惜相依蛋雕音乐盒生日/结婚礼物VB-230-4A
 单 价: 447.0
.
  
  佳能 NPG37鼓组件 IR2018 2020 2025 2030 鼓组件
 单 价: 490.0
.
  
  佳能 G20鼓组件 IR155 200 1600 2000 2010 鼓组件
 单 价: 260.0
.
  
  专业致力Web技术 ASP.net网站建设 ASP.net网站维护修改
 单 价: 5.0
.
  
  新誉 300M 经济型ASP.NET虚拟主机(IDCC ASP.NET100)
 单 价: 90.0
.

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

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

京ICP备09058017号