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

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

时间: 2024-10-01 02:01:11

使用.NET2.0 编写COM组件供Visual Basic调用的相关文章

在ASP.NET2.0中的WEB.CONFIG文件中调用外部文件

asp.net|web 在一个工作项目或者工作小组中,有可能经常要转换工作的调试环境,比如开发环境,测试环境,部署环境,这样有可能要对web.config文件进行修改或改动,比如要改数据库的连接字符串,角色配置,安全配置环境等,一不小心,很容易会发生遗漏等错误.在asp.net 2.0的web.config文件中,新加入了可以引入外部文件的新特性,使到我们可以先预先搞好几个文件,比如将经常要改动的部分,如数据库连接串部分等,按不同的开发环境,分别写成若干个xml文件,然后在web.config中

调试 ASP 中使用的 Visual Basic COM 组件

概要本分步指南介绍了如何调试(或逐步执行)在 Active Server Pages (ASP) 页中使用的 Microsoft Visual Basic (VB) 组件对象模型 (COM) 组件. 调试 ASP 页中使用的 VB COM 组件 在开始菜单中指向程序,指向 Microsoft Visual Studio 6.0,然后单击 Microsoft Visual Basic. 在 Visual Basic 中,打开您要调试的 COM 组件项目,并在希望调试的位置设置断点.为此,单击希望调

创建 Visual Basic COM 组件在 ASP 中使用

概要本分步指南介绍了如何创建组件对象模型 (COM) 组件供在 Active Server Pages (ASP) 中使用.  供 ASP 使用的 COM 组件 在 Visual Basic 中创建一个新的 ActiveX DLL 项目. 将项目命名为 VBASPProject,将类命名为 VBASPClass. 将下面的公共方法粘贴到类模块中: Public Function GetString() As String' Return the string Hello World!GetStr

Visual Basic .NET 已不再支持的 Visual Basic 6.0 功能

visual Visual Basic .NET 已不再支持下列的 Visual Basic 6.0 功能.A: ·    OLE 容器控件   Visual Basic .NET 中没有对等的对象.依赖这个控件的应用程序应继续使用 Visual Basic 6.0. ·    动态资料交换 (DDE)   DDE 方法不再受到支持.依赖 DDE 的应用程序应该修改为使用其它的应用程序间通讯方法或继续使用 Visual Basic 6.0. ·    DAO 或 RDO 资料系结 (Data B

在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组

visual|创建|控件|数组 在 Visual Basic .NET 和 Visual C# .NET 中创建控件数组 Matthew A. StoeckerVisual Studio TeamMicrosoft Corporation 2002 年 1 月 摘要:本文介绍如何使用 Visual Basic .NET 和 Visual C# .NET 创建和管理控件数组. 目录 简介 前提 创建项目 实现集合 公开控件数组 创建公共事件处理程序 测试项目 总结 简介数组为使用共享公共功能的控件

在 Visual Basic .NET创建控件数组

visual|创建|控件|数组 在 Visual Basic .NET创建控件数组 简介数组为使用共享公共功能的控件组提供了一种方便的方式.例如,控件组可以用来显示相关数据,或者在单击时提供相关的操作.Visual Basic .NET本身并不支持创建控件数组,但您可以通过编程来复制控件数组的全部功能.本文将指导您创建一个复制控件数组功能的简单组件. 控件数组的某些用处如下所示: 通过索引访问具有相同名称的控件集合,您可以按编号检索和设置属性,并遍历数组中的所有控件.这一操作的典型语法如下:'

Visual Basic .NET处理Excle表格全接触

visual Visual Basic .Net处理Excel表格机理和处理Word文档一样,也是通过互操作,引入COM组件来实现的,所以前提条件是运行本文中介绍的程序的计算机必须安装Office 2000中的Excel软件.如果计算机安装的Office 2000,那么这个COM组件就是"Microsoft Excel 9.0 Object Library".一旦引入此COM组件,Visual Basic .Net就可以向手工编辑Excel表格一样来处理它.下面就来介绍Visual B

net 2.0-用.net2.0设计的网站,更换服务器后,上传组件失效。求高手指教!

问题描述 用.net2.0设计的网站,更换服务器后,上传组件失效.求高手指教! 公司网站,2011年设计,用的是微软的.net2.0框架(aspx)+win2003IIS,以前运行一切正常,搬迁到云服务器后,出现上传组件错误,具体表现: 1.点击上传组件后,源代码不执行(也就是点了之后页面闪一下,然后就回复了原页面): 2.自己新建了一个ASP编写的程序,上传成功: 3.目录权限没问题: 4.在云服务器上安装了VS2010进行本地调试,localhost加端口进行访问,测试上传是成功的.奇怪的是

ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性                                         深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第三篇 ASP.NET自定义控件组件开发 第二章 继承WebControl的自定义控件 ASP.NET自定义控件组件开发 第三章 为控件添加事件 前