【问题标题】:VB6 MSCOMCTL.OCX not loading issues on Windows 7VB6 MSCOMCTL.OCX 在 Windows 7 上没有加载问题
【发布时间】:2016-09-08 12:17:34
【问题描述】:

我在 VB6 中遇到了 MSCOMCTL.OCX 的奇怪问题。

我认为这可能是我试图安装一些旧软件与雕刻机通信时造成的。由于缺少 OCX 文件,安装仅部分成功。虽然该应用程序已列在程序文件中,但在加载时只有一些功能起作用。

当我接下来尝试打开一个 VB6 项目时,它显示了一个关于无法加载 MSCOMCTL.OCX 的错误。 VB6 以前工作没有任何问题。起初我以为雕刻工具的安装损坏了一些文件,所以我重新安装了 VB6 和 Service Pack 6,但这并没有解决问题。相反,错误消息说“无法加载”。

我浏览了VB6 IDE cannot load MSCOMCTL.OCX after update KB 2687323Object Library Not Registered When Adding Windows Common Controls 6.0 的论坛帖子,但发布的解决方案均无效。

我设法卸载了雕刻软件,再次安装了 VB6(加上一些重新注册 dll 的游戏),我设法打开了一个项目。这个项目肯定在组件中选择了 Microsoft Window Common Controls 6。问题是这是我唯一可以打开的项目。所有其他项目都因错误“无法加载”而失败。即使启动一个新项目也会在选择 Microsoft Windows Common Controls 6 时出现错误“无法加载”。

我查看了项目文件和对 MSCOMCTL.OCX 的引用,其中有效的项目和不一样的项目:

对象={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX

有人可以帮我让 VB6 重新工作吗?有谁知道为什么单个项目可以毫无问题地加载 MSCOMCTL.OCX,但所有其他项目,包括全新的项目,都会抛出错误?

编辑:奇怪的是,在原始帖子发布这么久之后,这个问题刚刚被标记为可能重复。在我对下面答案的 cmets 中,我特别说我尝试了作为该问题的答案提出的解决方案,但没有奏效。

【问题讨论】:

标签: vb6 ocx


【解决方案1】:

您确定工作项目和非工作项目中的引用相同吗?尝试更改对以下内容的引用

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX

刚刚在您对 2.0 的引用中更改了 2.1。这适用于我的环境。也许这就是可行的项目和不可行的项目之间的区别。很容易错过的参考差异。

【讨论】:

  • 是的,它们完全一样。我尝试更改对 2.0 和 2.2 的引用,但仍然给出错误消息。
  • 我刚刚查看了另一个损坏的项目,它给出了错误消息“无法加载”,并且该参考已经是 2.0。我刚刚尝试将其更改为 2.1 并收到相同的错误消息。
【解决方案2】:

我已通过在安装问题应用程序之前执行系统还原来设法使 VB6 正常工作。在发布我的问题之前我确实尝试过这个,但是我在让系统恢复工作时遇到了一个单独的问题,它说它无法访问文件并回滚任何更改。

【讨论】:

  • 如果有人感兴趣,系统还原问题的解决方案是here。我必须在安全模式下进行。
猜你喜欢
  • 1970-01-01
  • 2012-08-12
  • 2014-02-24
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多