.Net提供三种途径供我们导入一个COM组件

转载 2007年09月18日 13:15:00
.Net提供三种途径供我们导入一个COM组件:
      - 通过Visual Studio .Net提从的“添加引用”功能
      - 通过命令行方式——TLBIMP.EXE
      - 使用System.Runtime.InteropServices.TypeLibConverter类编程实现导入功能
    第一种方式无须赘述,非常的简单。第三种方式我会说明PIA的用法的同时,对此方法的使用加以说明。不过,我的水平不高,各位不要要求太高喽。^_^ 言归正传,本文关注的是第二种方式。我们可以直接使用此工具提供的最简单的调用方式:TLBIMP TestObj.dll。但需要提醒各位的是,如果我们使用这种方式导入一个COM组件的话,我们将“牺牲”原有的COM组件,这样做是很危险的。个人认为,最简单的调用方式是TLBIMP TestObj.dll /out:interop.TestObjLib.dll。这样,执行后将会产生一个名为interop.TestObjLib.dll的COM Interop。下面将给出简单的例子以说明整个过程。
1、首先用VB写的一个简单的ActiveX Dll
'Project name is TestObjList, class name is TestObj
Option Explicit

Public Function Add(ByVal iValue As Integer) As Integer
    Add = iValue 1
End Function

2、使用命令行工具导入这个COM组件
TLBIMP TestObjLib.dll /out:interop.TestObjLib.dll

3、在一个.Net Windows Forms中写一段调用此组件的测试代码
using interop.TestObjLib;
private void button1_Click(object sender, System.EventArgs e)
{
    TestObjClass obj = new TestObjClass();
    int num = 1;
    MessageBox.Show(obj.Add(num).ToString());
}

    此处需要说明一点,当TLBIMP.EXE在生成Interop装配件时会在原COM中的类的名字后面加上一个"Class"。调用时,请各位注意。

NET组件和COM组件之间的相互操作

NET组件和COM组件之间的相互操作 .NET组件和COM组件之间的相互操作日期:2001-10-18 19:29:00出处:技术巅峰 作者:技术巅峰...
  • aiwtu
  • aiwtu
  • 2006年11月22日 11:15
  • 1293

.NET调用Com组件事例

在程序设计中,往往通过键盘的某个按键来完成相关操作!  下面就来说明如何实现: 1.引入名称空间;using System.Runtime.InteropServices;(由于使用到API(user...
  • shizhiyingnj
  • shizhiyingnj
  • 2007年02月11日 23:23
  • 7261

COM组件与.Net组件的比较

1、COM组件与.Net组件的比较        COM技术要早于.Net技术。COM定义了一个组件模型,在该模型中,组件可以使用不同的编程语言进行编写,其可以在本地进程中使用,也可以跨进程使用或...
  • Chinamming
  • Chinamming
  • 2013年11月21日 13:47
  • 3517

C#开发COM组件

1.    概述       Microsoft在解决和以往的COM和SDK开发技术之间的互操作性(Interoperability)方面做了很多的工作,其中包括COM和.NET对象之间的相互调用以及...
  • soudog
  • soudog
  • 2007年04月30日 15:18
  • 10519

将.net组件注册为com组件

切换到MS-DOS命令行下面,运行:C:/>regasm ClassLibrary1.DLL /regfile:ClassLibrary1.reg 上面的命令行是注册我们的.NET组件,并且产生了一个...
  • y97523szb
  • y97523szb
  • 2004年11月09日 10:20
  • 1857

从COM组件调用.NET 组件

互操作性的优势有时,编程中的革新会使人不得不放弃以前的所有工作。举一个很极端的例子,假设您已有多年 Visual Basic 编程经验,象许多开发人员一样,您当时已建立起一个颇具规模的代码库,而且,由...
  • guxianga
  • guxianga
  • 2007年09月18日 13:11
  • 1274

vb.net编写并调用com元件

利用vb.net编写并调用com元件的过程:1、建立ClassLibrary。即建立一个类库。然后将默认的普通class删掉,右键Item,选择ComClass,在这个类中需要引入.NET下的Syst...
  • studyandhappy
  • studyandhappy
  • 2010年07月27日 00:27
  • 1969

ASP.NET调用COM

在VC++z中利用ATL COM AppWizard写一个COM组件。   在VS.NET中利用“型别库导入工具”(TlbImp.exe),从COM组件的型别库生成一个装配件,这样受控代码就能通过访问...
  • tohigh
  • tohigh
  • 2004年06月26日 14:37
  • 4586

NET中如何引用COM组件

如果您是初次学习.NET,说不定会尝试着去学习怎样使用COM组件,为了让您少走弯路,我把我所遇到的问题写下来,与大家共享。同时也希望与您一起交流,共同提高。联系方式:电话:0571-88021712 ...
  • lvboliang
  • lvboliang
  • 2007年06月05日 21:15
  • 1237

如何创建COM组件能够调用的.NET装配件

前言:    .NET中的代码是不能够直接被COM组件使用的,为了能够在COM组件中使用.NET的代码生成的组件,我们需要创建一个相当于代理的中间介质,它叫做可调用COM包装器(COM callabl...
  • storm97
  • storm97
  • 2003年09月24日 20:31
  • 1239
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.Net提供三种途径供我们导入一个COM组件
举报原因:
原因补充:

(最多只允许输入30个字)