随笔 - 65, 文章 - 0, 评论 - 373, 引用 - 15
数据加载中……

导入一个COM组件(转载)


.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"。调用时,请各位注意。

posted on 2007-11-07 16:54 Ring 阅读(143) 评论(0)  编辑 收藏 所属分类: B .Net 开发


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-12-25 14:09 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: