gpt4 book ai didi

windows-7 - 无法在 Windows 7 中加载 VB6 OCX 错误 372

转载 作者:行者123 更新时间:2023-12-02 23:27:56 25 4
gpt4 key购买 nike

我正在开发一个使用 VB6 为 Windows XP SP3 开发的应用程序。我目前正在使其在 Windows 7 上运行,但遇到了我们的自定义 OCX 文件之一的问题。

当尝试加载包含有问题 OCX 中的控件实例的表单时,会产生以下错误:

Failed to load control 'x' from y.ocx. Your version of y.ocx may be outdated. Make sure you are using the version of the control that was provided with your application.

我已经检查了版本号,它们都是正确的并且引用了正确的版本。 OCX 注册正常,并且所有预期的注册表项都存在。

使用 DependencyWalker 检查显示没有丢失依赖项。

该软件在 XP 下运行良好,(似乎)这是在 Windows 7 上运行时的唯一问题。

有趣的是,如果我使用 VB6 组运行 VB6 IDE(包含该组的有问题的 OCX 部分,以及应用程序启动项目),则不会遇到问题。通过 IDE 单独运行应用程序仍然会出现错误。

关于可能缺少哪些内容会导致应用程序抛出此错误的任何想法?

Windows 7 Professional 和 Home Professional(均为 32 位)上都会出现错误。

最佳答案

这几乎肯定是接口(interface)兼容性问题。 COM 接口(interface)的版本完全独立于您的主要/次要/修订号,除了安装程序使用的之外,它们只不过是注释。

在这个过程中,您破坏了二进制兼容性,并且您正在尝试部署一个具有比您的应用程序编译所针对的接口(interface)更新的接口(interface)的库。

这些版本号可在以下键中找到:

HKEY_CLASSES_ROOT\CLSID\{class Id GUID}\VERSION

您的程序需要删除对 OCX 的旧引用,设置新的引用,然后必须重新编译。这也意味着删除控件的任何实例并将它们一一添加回来。

我怀疑这是 Windows 7 问题。

关于windows-7 - 无法在 Windows 7 中加载 VB6 OCX 错误 372,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7816750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com