ActiveX OCX可以在内置于发布模式时注册,但不能在调试模式下注册

时间:2017-03-02 16:17:18

标签: c++ visual-studio-2008 activex

我遇到了一个恼人的问题。在Windows 7 SP1 64位操作系统上使用Visual Studio 2008,我重建了一个在客户站点上工作多年的ActiveX控件。它是在发布模式下构建的。但是当我测试控件时,它崩溃了。我试图在调试模式下构建它,但它无法注册。错误消息是:

"模块...可能无法与您正在运行的Windows版本兼容。检查模块是否与regsvr32.exe的x86(32位)或x64(64位)版本相符。"

我尝试将其注册到64位和32位版本的regsvr32,并且两者都出现了相同的错误。

我真的希望能够将调试器与此控件一起使用。如果我不能,我将不得不将信息框扔到我的控制中,直到我能够确定它崩溃的地方。

1 个答案:

答案 0 :(得分:1)

使用Dependency Walker命令注册您的OCX并查看其抱怨的内容。注册任何版本的OCX时,必须为您的OCX提供相应版本的依赖项。要将配置文件打开正确的位度regsvr32.exe到Dependency Walker,选择Profile并在Program Arguments字段中输入您的OCX的名称。