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

原创 2006年06月25日 21:37: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组件、OLEDB导入EXCEL

.NET com组件
  • chenfanglincfl
  • chenfanglincfl
  • 2014年06月13日 23:55
  • 1989

C#通过引用Office Excel (2007) 组件实现对Excel文件的操作

[原创]C#通过引用Office Excel (2007) 组件实现对Excel文件的操作 对用应用软件来说,将报表转出为Excel文件,进行二次加工,或者根据Excel模版填充数据,是非常常用...
  • angela8804100029
  • angela8804100029
  • 2013年04月02日 14:51
  • 1958

用C#生成Excel文件的方法,Excel.dll组件生成的方法和设置用ASP.NET操作访问权限

一个示例:class AppTest {  private Excel.ApplicationClass _x;  public static void Main0()  {   AppTest a ...
  • wang8712
  • wang8712
  • 2005年04月21日 18:02
  • 4449

Graphviz之环境搭建

Graphviz atom .dot 环境
  • skyztttt
  • skyztttt
  • 2017年05月03日 10:57
  • 769

C#中使用WinGraphviz实现dot脚本语言绘图

  • 2017年03月11日 15:40
  • 886KB
  • 下载

从COM组件调用.NET 组件

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

.NET调用Com组件事例

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

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

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

C#开发COM组件

原文:http://blog.csdn.net/soudog/article/details/1593346 1.    概述        Microsoft在解决和以往的COM和SDK开发...
  • jiftlixu
  • jiftlixu
  • 2016年03月09日 14:20
  • 3094

C#开发COM组件供其他开发环境或工具调用介绍

由于工作原因涉及到这一块的开发,由于之前并未接触过,所以本篇文章也是在参考了各种资料后,自己实现并通过通过测试之后所整理的备忘录以及一些个人观点。 希望对刚接触这类型开发的朋友有所帮助,若有不足...
  • xiunai78
  • xiunai78
  • 2013年09月10日 11:23
  • 6196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.Net提供三种途径供我们导入一个COM组件
举报原因:
原因补充:

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