C#调用ActiveX控件

在.NET平台上,使用C#调用ActiveX控件时遇到'未处理COMException'异常。解决方法包括在系统注册控件并将其添加到工具箱,或者使用Aximp.exe工具生成DLL进行引用。两种方法各有特点,前者无需手动包装,后者无需添加到工具箱。

背景:最近项目中需要用到ActiveX控件,项目是在.Net平台下开发的。因此就直接在项目中添加了对ActiveX控件的引用,添加引用成功。在代码中实例化类的实例也没有问题,但在调用其方法或属性时总是抛出"未处理 COMException"异常。

 

方法一:

1、在系统中注册该ocx控件,命令:regsvr32.exe 控件位置(加 /u 参数是取消注册);
2、在.net的工具箱中添加该控件,拖到form中去就可以了。

方法二:

1、用Aximp.exe来包装一下ocx控件的类;

2、在程序中引用生成的dll就可以了。

区别:

1、方法一不需要手动包装ocx控件,方法二需要;

2、方法一需要将控件先添加到工具箱,方法二不需要。

 

 ************************************************************************

关于Aximp.exe包装ock控件在msdn中一段相关文字,链接:http://msdn.microsoft.com/zh-cn/library/8ccdh774(VS.80).aspx 

 

链接内容:

 

Windows 窗体 ActiveX 控件导入程序 (Aximp.exe)
ActiveX 控件导入程序将 ActiveX 控件的 COM 类型库中的类型定义转换为 Windows 窗体控件。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值