【问题标题】:Problems with FM20.dll and crystl32.ocx while opening VB6 project打开VB6项目时FM20.dll和crystl32.ocx的问题
【发布时间】:2021-04-08 00:12:15
【问题描述】:

一位客户最近给了我一些涉及他们(旧)VB6 程序的工作。我已经成功地在带有 Windows XP(32 位)的 VM 中安装了 VB6,它工作得很好。问题是当我尝试打开客户端的程序时。弹出以下消息:

crystl32.ocx 无法加载--继续加载项目?

无法加载FM20.DLL--继续加载项目?

之后有一堆关于crystl32.ocx的警告。 所以我尝试使用 regsvr32 注册依赖项,但它说找不到模块,即使它们就在那里。谷歌搜索问题后,我下载了 Dependency Walker 并找到这些文件需要哪些 dll 文件,它们是:

msvcr100.dll

IEShims.dll

wer.dll

crpe32.dll

下载完这些dll文件后,我尝试注册第一个,但是它说“找不到dllregisterserver入口点”。所以我先尝试注销它,但是找不到模块。

我已经重新安装了几次VB6,但没有效果。关于如何完成这项工作的任何想法?

【问题讨论】:

  • 您是否已将 Crystal Reports 安装到 VM 中?
  • @BrianMStafford 我试过...不幸的是,我找不到像 4.6 或 CR XI 2 这样与 VB6 兼容的早期版本,因为 SAP 已经取消了大部分链接。
  • 如果您从原始磁盘安装 VB6,您将在其中一个磁盘上安装 Crystal 作为单独安装。
  • 你说你在虚拟机下运行这一切。如果你的主机操作系统是 Win-10,你可以直接在上面安装 VB,我发现这解决了很多依赖问题,尤其是涉及到 PDW 安装程序(你没有提到需要,但你显然还没到那个地步)。有几个技巧可以使它正常工作;这里有一篇文章解释了如何做到这一点:stackoverflow.com/questions/52001443/… 还要确保安装最终的服务包 (SP6)。
  • 如果您在 64 位环境中运行,请确保您使用的是 regsvr32 的 32 位版本

标签: vb6


【解决方案1】:

Crystl32.ocx 和 Crpe32.dll 是 Crystal Reports 运行时文件。

FM20.DLL 是 Microsoft Form 2.0 库,带有一些标准的 GUI 控件,如标签、文本框、复选框等。 Msvcr100.dll 是 MS Visual C++ 2010 Redistributable Package

如果您的客户端程序有安装程序,您应该在使用 VB6 IDE 打开源代码之前运行它。这样,您将获得 VB6 程序所需的所有依赖项。 如果没有,请发布您的 VB6 应用程序的 vbp 文件。

【讨论】:

    【解决方案2】:

    感谢所有帮助!最终的解决方案是安装客户后来提供给我的 CR 4.6(正如@BrianMStafford 建议的那样)、VB6 SP6 和 Office 2007 以及 SP3。 有了这个,我已经设法让项目运行起来,所以感谢大家!

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多