无法加载64位ActiveX控件

问题描述 投票:-1回答:1

我构建了一个64位ActiveX控件,并且已经成功注册。然后,我构建一个MFC项目,并想将ActiveX控件插入其中。

当我打开“插入ActiveX控件”对话框时,找不到我的ActiveX控件。

如果将64位控件更改为32位,则此问题已解决。为什么? MFC不支持64位ActiveX控件吗?

image

奇怪的是,我可以通过QT5支持的ActiveX控件测试容器工具-“ testcon.exe”加载64位控件。ActiveX Control Test Container supported by QT5

Control UUID in regedit

Control UUID

c++ mfc com activex ocx
1个回答
0
投票

这不是因为MFC不支持64位,而是因为Visual Studio IDE及其支持的GUI工具只能在32位上工作。Does Visual Studio 2019 support 64 bit custom visualizer?问:

我要显示一种特殊类型,但该类型需要64位dll,因此我必须在x64中编译自定义可视化工具。但是,查看变量时出现了严重的图像错误。 Visual Studio 2019是否支持Visualizer以64位模式编译?还是因为VS是32位程序,所以可视化器也需要32位?]

A:

Visual Studio IDE是32位的(并且由于存在许多现有扩展名以及Visual Studio IDE的悠久历史,所以这不太容易实现)。

因此,任何扩展,包括自定义可视化工具,都必须为32位。

如果无法获取dll的32位版本,则需要先进行某种容器处理,然后与之通信(这不太容易,因为帮助程序无法访问任何内部API。 )。

Visual Studio 64 bit? [closed]问:

根本没有64位Visual Studio吗?为什么不呢?

典型短片A:

否,但是32位版本可以在64位Windows上正常运行。


您应分别将ActiveX控件设置为32bit / 64bit,导入32bit ActiveX以创建32bit应用程序,并添加设置以在64bit中编译该应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.