如何修复VB6中损坏的引用

如何修复VB6中损坏的引用,vb6,Vb6,我有一个VB6项目,我正在一台机器上积极开发,不得不将VB6项目转移到另一台运行硬件的机器上,我的程序将与之对话。移动项目后,我得到了comctl32.ocx的未找到文件。错误消息包括文件的路径,我已经验证了路径是否正确以及文件是否确实存在。我还向regsvr32注册了该OCX文件,但它仍然没有加载。有办法解决这个问题吗 我还注意到,其他开发机器上的一些引用提供了我需要的一些控件的更新版本,如Microsoft ActiveX DAO 2.8库。在新的开发机器上,我只看到Microsoft Ac

我有一个VB6项目,我正在一台机器上积极开发,不得不将VB6项目转移到另一台运行硬件的机器上,我的程序将与之对话。移动项目后,我得到了comctl32.ocx的未找到文件。错误消息包括文件的路径,我已经验证了路径是否正确以及文件是否确实存在。我还向regsvr32注册了该OCX文件,但它仍然没有加载。有办法解决这个问题吗

我还注意到,其他开发机器上的一些引用提供了我需要的一些控件的更新版本,如Microsoft ActiveX DAO 2.8库。在新的开发机器上,我只看到Microsoft ActiveX DAO 2.5库。我不知道为什么会这样,因为我在这台新开发的机器上使用了与在另一台机器上加载它相同的VBA安装介质。为什么这两台机器在某些控件的版本号上存在差异

EDIT1: 在Project>References下,我可以看到其中两个被标记为缺失。这些参考资料是:

  • Microsoft ActiveX数据对象2.8库,以及
  • Microsoft VBScript正则表达式5.5
  • EDIT2
    “新”开发计算机是Windows 2000。

    请先尝试注销comctl32.ocx:

    键入
    REGSVR32/U“C:\[filename.dll]”

    然后像以前一样重新注册。我以前遇到过这个问题,这样做解决了这个问题。确保以管理员身份运行命令提示符


    至于您的其他参考资料,我建议在这两台机器上运行Windows Update。您应该使用Microsoft ActiveX Data Objects 6.1。

    有时,当项目迁移到新计算机时,您会丢失引用。解决这些问题从来都不是件有趣的事。但它本质上归结为安装丢失的文件。有几种方法可以做到这一点:

    安装套件

    这也许是最简单的方法。所有依赖项都收集到一个包中,该包被复制到新计算机上,并根据需要进行注册

    手动安装

    通过事先了解或搜索web的过程,可以跟踪安装包并将其应用到新计算机上。因此,对于当前的问题:

    “Microsoft ActiveX数据对象2.8库”可从下载

    “Microsoft VBScript正则表达式5.5”是Internet Explorer 5.5的一部分,也可能是最新版本的一部分。安装IE,你就可以开始了

    其他问题

    有些组件实际上在计算机上,但由于任何原因无法使用。对于
    Microsoft Windows Common Controls 5.0
    (comctl32.ocx),首先要尝试的是Etienne建议的方法。在管理员命令提示下,注销并重新注册控件


    另一个选项是将组件升级到Microsoft Windows Common Controls 6.0,谢谢您的帮助。我完全按照你的建议做了,不幸的是,我得到了同样的错误。我没有提到,但“新”的开发机器是Windows 2000。我不确定是否仍然可以获取此版本Windows的更新。您也可以尝试手动安装缺少的引用。您可以从Microsoft网站下载。我找不到下载
    RegEx 5.5
    的链接,但我相信它是随Internet Explorer 5.5安装的。谢谢你,Brian。自从我发布并设法自己找到MDAC以来,我一直在关注这一点。我安装了它,它修复了
    数据对象2.8库
    。和你一样,我也找不到RegEx库的下载链接。这是一个无法解决的问题吗?听起来v5控件仍然存在问题。如果是我,我会升级到v6并完成它。您不需要为脚本主机安装IE。它可以作为一个服务提供。