ActiveX控件使用时的错误

VS开发应用打包安装到其它电脑,提示错误

Debug assertion failed!

f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\occcont.cpp  Line 925.

其实是控件没有注册的问题。

我写的应用程序中使用了串口控件,打包后装到别人电脑不能正常使用,原因是缺少MSCOMM32.OCX,在网上下载好这个控件,安装好就可以了,安装方法如下:

1.将mscomm32.ocx文件复制到C:\Windows\SysWOW64目录下(注意64位系统一定要放到此目录下)

2.以管理员身份运行  cmd命令行输入:regsvr32 C:\Windows\SysWOW64\mscomm32.ocx   回车注册完毕
 

如果不用管理员身份运行cmd,则会出现注册失败的提示:

DllRegisterServer的调用失败

在注册ActiveX控件时出错了, 错误提示是COMDLG32.OCX.ocx已加载,但是DllRegisterServer调用失败。其实在日常的工作中,用regsvr32 命令注册dll、ocx等时,往往是没有使用管理员身份运行cmd

(注意此时使用的是syswow64目录下的regsvr32.exe,而不是system32下的regsvr32.exe)。

64位系统用syswow64目录。32位系统用system32目录

【解决方案】
运行以来的ocx注册一下...

regsvr32  C:\Windows\SysWOW64\mstscax.dll

COM 组件就是一组接口的集合,实现了 IDispath 接口的 COM 组件叫做自动化组件。在自动化组件的基础上,在实现规定的接口就称为 ActiveX 组件,

Ocx 是 Activex 的文件载体。
一般来讲 ,一个 ActiveX 对应一个 Ocx 文件, 如果愿意, 一个Ocx 文件也可以包含多个 ActiveX  控件。


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值