【问题标题】:vb6 not able to load forms with status bar control on windows 7 64 bitvb6 无法在 Windows 7 64 位上加载带有状态栏控件的表单
【发布时间】:2013-10-29 10:29:19
【问题描述】:

我正在尝试加载打开的 vb6 表单,但它说找不到项目或库,并且光标指向状态栏。这行代码:

Private mStatus As StatusBar

我已经安装了来自 Microsoft 的 vb6 更新的常用控件,但它仍然无法正常工作。

我也试过这个:

not able to open VB project, getting error "C:\windows\system32\mscomctl.ocx" could not be loaded

regsvr32 mscomctl.ocx
regsvr32 mscomct2.ocx
regsvr32 comct332.ocx

并关闭 vb6,重新打开项目并尝试使用控件打开表单,它给了我相同的错误消息。

企业版安装了sp6。

任何解决问题的建议将不胜感激。

谢谢!

【问题讨论】:

  • 您是否尝试过以管理员身份运行 Visual Basic?
  • 嗨 jac,是的,一直都忘了提及这一点。 :P
  • 您可以使用记事本打开 .vbp 文件并复制/粘贴上面带有 mscomctl.ocx 的行吗?
  • 您好 G Mastros,我相信您的意思是使用该 ocx 控件的代码?私有 mStatus 作为状态栏
  • 对不起,我完全误读了。对象={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX

标签: vb6 windows-7-x64 common-controls


【解决方案1】:

我在将项目从 XP 32 位移动到 Win7 64 位时遇到了这个问题,并且在使用此站点上的各种有用指令使 VB6 明显工作后,我每次尝试加载现有项目时都无法打开该项目.

最终我通过编辑(使用记事本).VBP 项目文件中的参考行来修复它,其中硬编码了 C:\WINDOWS\SYSTEM32,指向 C:\Windows\SysWOW64。

参考=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\SYSTEM32\STDOLE2.TLB#OLE 自动化

改成

参考=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\STDOLE2.TLB#OLE 自动化

项目文件现在打开并可以正常编译。但是如果我再次尝试在 32 位系统上打开修改后的项目,大概会遇到类似的困难。

【讨论】:

    【解决方案2】:

    找到解决方案!

    1. 在 SysWOW64(64 位)或 System32(32 位)文件夹中添加 MSCOMCTL.OCX
    2. 项目 - 组件 - 单击浏览并提供上述文件的路径
    3. 下载Microsoft Visual Basic 6.0 Common Controls 并安装

    之后没有 OCX 丢失错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 2013-02-06
      • 2011-04-25
      • 1970-01-01
      • 2020-08-11
      • 2012-04-18
      • 1970-01-01
      相关资源
      最近更新 更多