visual-studio - Visual Studio 6 Windows 公共(public)控件 6.0 (sp6) Windows 7,64 位

标签 visual-studio vb6 visual-studio-6 microsoft-common-controls

我被要求帮助某人处理旧版 vb6 应用程序,因此我决定在我的 Windows 7 x64 笔记本电脑上使用 Visual Studio 6,如下 this guide .

它安装得很好,我可以看到除了 Microsoft Windows Common Controls 6.0 (sp6) 之外的一切都正常工作。 Microsoft Windows Common Controls-2 6.0 (sp6)、Microsoft Windows Common Controls 5.0 (sp2) 等都可以正常工作。但是,当我尝试添加 Microsoft Windows Common Controls 6.0 (sp6) 组件时出现错误:

'' could not be loaded

我无法添加图像,因此我已将屏幕截图上传到此处,供任何想准确查看的人使用:

http://i.imgur.com/7aym4xB.png

我尝试注册/取消注册/重新注册 MXCOMCTL.OCX、MSCOMCT2.OCX、msdatsrc.tlb 均未成功。我还卸载了可能导致 Windows 通用控件出现问题的已知安全更新。我已经删除了 IE11,即使报告指出 IE11 不会像 IE10 那样导致 MSCOMCTL.OCX 出现问题。

我在 Windows XP SP3 兼容模式下运行 VB6.EXE。使用禁用视觉主题、禁用桌面合成和禁用高 DPI 设置的显示缩放。以及以管理员身份运行它。

我还尝试打开一个使用此控件的先前项目,但它在加载过程中失败,并出现与屏幕截图中相同的“空白”错误,并在生成的错误日志中显示以下内容:

第 35 行:控件 lvData 的类 MSComctlLib.ListView 不是加载的控件类。
第 223 行:控件 Stat 的类 MSComctlLib.StatusBar 不是已加载的控件类。

所以这告诉我这不是 .vbp 中的版本问题,就像一些建议的那样(新的空白项目也会发生这种情况)。

我束手无策。显然人们已经让 VB6 和 Windows 7 x64 都能正常工作(使用 Windows 通用控件),但我没有尝试任何方法来缓解我的问题。我希望这里有人可能遇到过这种情况,或者对发生的事情有一些想法。

最佳答案

在等待这里的想法回复时,我决定尝试一些东西。我以管理员身份运行 regedit,导航到 HKEY_CLASSES_ROOT\TypeLib 键,然后搜索“MSCOMCTL.OCX”...我删除了引用此 .ocx 文件的每个键。

在搜索了整个注册表,删除了我找到的内容后,我以管理员身份运行了命令提示符。然后我导航到 C:\Windows\SysWOW64 并键入以下命令:

regsvr32 MSCOMCTL.OCX
regtlib msdatsrc.tlb

再次注册这两个文件后,一切正常!我在网上搜索了 HOURS 来寻找这个解决方案,但无济于事。碰巧我在这里发布问题后自己修复了它:(即使 Visual Studio 6 已经过时,希望这仍然可以帮助其他人!

关于visual-studio - Visual Studio 6 Windows 公共(public)控件 6.0 (sp6) Windows 7,64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20727568/

相关文章:

visual-studio - 代码覆盖率结果定期给出: Empty results generated

c++ - C#WPF和C++/CLI和C++在C++/CLI中添加外部库错误

vb6 - vb6 程序的许可要求是什么

vb6 - 使用 Visual Basic 6 运行 exe 文件的有效方法?

c++ - 自述文件到 C++ 项目

c# - 如何解决警告 "Referenced assembly targets a different processor than the application"

vb.net - 将总分钟转换为HH的最佳方法:mm format?

vb6 - 在一行的开头在 VB6 IDE 中查找文本

c++ - 用于 Visual Studio 6 代码兼容性的 Visual Studio 2015

c++ - 在 midl 生成的头文件中定义一个结构