【问题标题】:Procedure Entry Point invalid in JVCL (jclsysinfo)JVCL (jclsysinfo) 中的过程入口点无效
【发布时间】:2017-10-25 21:06:59
【问题描述】:

我已经使用 install.bat(分别来自 jcl 和 jvcl 文件夹)安装了最新的 Jedi VCL for Delphi (JVCL 3.49),没有错误。问题是当我运行 Delphi 2010 时,我收到很多关于 jvcl bpls 中无效入口点的错误。

entry point invalid @jclsysinfo@jclcheckwinversion$qqrri in JvCore140.pbl

我在所有 Jv*.bpl 文件中都收到此错误,并且总是使用相同的入口点。

我检查过我没有旧的 jcl/jvcl 文件或 jv*.bpl/jc*.bpl 文件。我不知道如何解决这个问题。有什么建议吗?

【问题讨论】:

  • 不知道为什么这是-1,因为几乎每次我安装绝地的东西时,我都会遇到这个问题或丢失 .Inc 和 .Res 文件等问题。您是否尝试过手动编译 .Dpk 文件,尤其是 JvCore140 的文件?
  • 我也想知道。为什么-1?无论如何,我可以手动编译和构建所有包而不会出错。但是当我尝试安装其中任何一个时,我得到了这个错误。所有 JCL 软件包都安装良好。问题仅在于 JVCL 包。
  • 您提到安装 JVCL,但您提到的错误是关于 JCL 的无效入口点。在最新版本的 JCL 中安装它,并确保在安装 JVCL 之前没有旧版本的剩余部分。 FWIW,您链接到的源代码就像超级古老 - 现在在 github 上:github.com/project-jedi
  • 正如我所写,我已经下载了最新版本。它包含在同一个 zip 文件中。我解压了这个文件,我有两个文件夹:jcl 和 jvcl。我已经安装了 jcl,之后我安装了 jvcl 没有问题。当我打开 Delphi 并尝试为 JVCL 加载 bpl 文件时出现错误。

标签: delphi jvcl


【解决方案1】:

当在 Delphi 中编译在编译时需要其他包的包时(如 JCL 和 JVCL 所做的那样),编译器将 dcp 文件用于所需包,而不是这些包的 bpl 文件。

例如,JvCore.dpk 在某些 RTL 包中的必需子句中有 JclJclVcl。这意味着在编译时将需要Jcl.dcpJclVcl.dcp 来获取所需的过程/类在 bpl 中的位置信息。

这些 dcp 文件大部分时间(除非另有说明 - 请参阅下一段)位于紧邻 BPL 文件夹的 DCP 文件夹中。

如果它使用的 dcp 与它在加载时找到的 bpl 不兼容,您将收到这些错误。确保在编译器可能找到的任何地方都没有任何旧的 bpl dcp 文件。在 JCL 设置中,您可以指定将它们放在哪里,而 JVCL 设置将它们放在与 dcu 文件相同的目录中。

此外,如果您安装了不同的 Delphi 版本,情况会变得更糟,因为通常 dcp 文件没有后缀。如果它放置的目录恰好位于 PATH 变量中,则可能会找到错误的版本。但是Delphi安装并没有将DCP目录放入PATH,而只放入了BPL目录。

【讨论】:

    【解决方案2】:

    (虽然我一直在写这篇文章,但 Stefan Glienke 已经发布了一个答案,其中包含更多有用的信息,但我还是会发布它,因为它很容易测试你是否只对一个 Delphi 版本感兴趣)

    我不确定以下内容是否适合您,因为我没有 D2010 安装以对其进行测试。您可以通过以下方式快速检查出来 在第 4 步中仅使用一个 .Dpk 文件进行尝试。

    请注意,我总是为 BPL 设置输出路径, DCP 和 DCU 文件到 Delphi 版本的安装文件夹下的 Lib2 文件夹。 这样我就知道它们都在哪里,所以如果出现问题,更容易整理 错了。

    1. 我卸载了 JCL 和 JVCL 并删除了所有 JV*.BPL、.DCP 和 .DCU 文件

    2. 我运行了 JCL 安装 .bat,并忽略了将文件夹添加到的所有提示 系统 PATH,因为我的 Lib2 文件夹已经在 PATH 上。

    3. 在我的 Delphi 版本的 JVCL\Packages 下的文件夹中,我编辑了所有 .Dpk 文件将我的 Lib2 文件夹用于 BPL、DCP 和 DCU 输出文件。这是 有点乏味但只需要完成一次,并且可以通过这样做变得更容易 使用键盘宏。

    4. 然后,使用IDE打包工具,编译安装所有JVCL .dpk 名称中包含“Design”并且我要安装的文件。

    它们都安装了,但没有收到您收到的错误消息。

    【讨论】:

      猜你喜欢
      • 2012-01-26
      • 2017-10-13
      • 2021-04-04
      • 2014-03-04
      • 2014-01-18
      • 2015-09-28
      • 1970-01-01
      • 2015-07-03
      • 2010-12-07
      相关资源
      最近更新 更多