【问题标题】:VB6 Common Controls On Windows 10Windows 10 上的 VB6 常用控件
【发布时间】:2016-01-18 17:45:37
【问题描述】:

我最近从 Windows 7 安装了 Windows 10。 我现在遇到了找不到 microsoft Common Controlls mscomctl 的问题

我已经用 sysWow64/Regsvr32.exe 注册了“MSCOMCTL.OCX”文件

但是当我重新加载项目时,它仍然找不到参考。

我还向 System32 注册了 .ocx。这是 Windows 10 的问题还是我遗漏了什么?

【问题讨论】:

  • 我注意到,乔希,您的错误消息指的是 MSCOMM32.OCX,而不是 MSCOMCTL.OCX。这就是微软通信控制。这可能是您问题的真正根源吗?
  • Windows 10 的 duffgrade 应该会破坏组件注册似乎很奇怪,但假设只有 Trident 不再使用这些 OCX,它可能会追逐 killbits。无论如何,您可能想要全新安装 Windows 10(以及其他所有内容)。我想知道这些是否从未在 Win7 上正确安装,并且旧用户配置文件的 VirtualStore 的注册丢失了。

标签: vb6 windows-10


【解决方案1】:

此错误最可能的原因是您的项目正在寻找比 Visual Basic 6(使用 Visual Studio 6 Service Pack 6)安装的 MSCOMCTL.OCX 更新的版本。

您可以通过在文本编辑器中打开 .vbp 项目文件来验证项目所需的类型库的版本。寻找这样的一行:

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

中间的2.2指的是需要的typelib版本。如果您重新添加组件引用然后保存项目,您可以返回到 .VBP 文件并查看您的机器上当前安装的 typelib 版本。 (这可能是 2.0 版)。

获取最新的 typelib 版本(2.2):

  1. 如果您还没有安装Visual Studio 6 Service Pack 6,请安装。
  2. 安装 2016 年 1 月 版本的Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update

这将为您提供 MSCOMCTL.OCX 的 6.1.98.46 版本。

【讨论】:

    【解决方案2】:

    答案是我必须进入项目内部,单击项目,然后单击组件并勾选 Microsoft 公共控件。单击应用并保存并重新启动项目。

    如果您没有注册表,它会禁用它,并且在完成 .ocx 文件上的注册表后,您必须重新启用它。

    【讨论】:

    • 在我的系统上,windows 7 版本高于 windows 10!!!不匹配似乎需要删除并重新添加 MSCOMCTL.OCX 引用。
    猜你喜欢
    • 1970-01-01
    • 2019-01-30
    • 2012-05-16
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    相关资源
    最近更新 更多