.Net提供三种途径供我们导入一个COM组件
2007-09-18 13:15
295 查看
.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"。调用时,请各位注意。
- 通过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组件
- GridView是ASP.NET中功能强大的数据显示控件,它的RowDataBound事件为我们提供了方便的控制行、列数据的途径。
- 扩展Html Helper类,ASP.NET MVC框架提供了一个帮助我们构造Html元素的类:TagBuilder
- oschina.net 是目前中国最大的开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技
- 跳转页面asp.net提供的三种方法比较
- Cocos2d-x中提供了一个JniHelper类来让我们对Jni进行操作。
- C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,
- ASP.NET使用log4Net日志组件教程(每天产生一个日志及日志按大小切割)
- 跳转页面asp.net提供的三种方法比较(原创)
- .NET Framework的CLR提供了三种方法来完成对共享资源
- asp.net 中 使用 excel :检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005
- [导入](转贴)我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?
- JAVA--编写一个JFrame,标题为“计算的窗口”,在该窗口中组件的布局是FlowLayout。窗口中添加两个文本区,当我们在一个文本区中输入若干个数时,另一个文本区同时对输入的数进行求和运算并求
- 一个蛮不错的图形绘制控件 dotnetCHARTING (提供license下载)
- 用C#编写一个进程外的COM组件
- asp.net三种发送邮件代码(stmp,无组件邮件发送)
- 一个提供 提供免费论坛,免费留言等服务 的网站 My.coolala.net
- 吉日嘎拉的梦想 - 做全国最好的后台权限管理系统,提高我们的软件生产率,成为权限标准组件,为软件系统的集成提供咨询服务
- ASP.NET MVC开发,编辑页面和添加页面基本相同,我们控制器 Add Edit是共用同一个View吗?
- c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享