JVCL中的过程入口点无效(jclsysinfo)

时间:2017-05-25 09:15:00

标签: delphi jvcl

我已经使用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文件。我不知道如何解决这个问题。任何消化?

2 个答案:

答案 0 :(得分:0)

在Delphi中编译软件包(作为JCL和JVCL),在编译时需要其他软件包时,编译器会将dcp文件用于所需的软件包,而不是这些软件包的bpl文件。

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

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

如果它使用的dcp与加载时发现的bpl不兼容,则会出现这些错误。确保编译器可能找不到任何旧的bpl dcp文件。在JCL设置中,您可以指定它放置的位置,而JVCL设置将它们放入与dcu文件相同的目录中。

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

答案 1 :(得分:0)

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

我不确定以下内容对你有用,因为我没有D2010 安装以测试它。你可以很快检查出来 在步骤4中仅使用一个.Dpk文件尝试它。

请注意,我总是设置BPL的输出路径, DCP和DCU文件到Delphi版本的安装文件夹下的Lib2文件夹。 这样我就知道他们都在哪里,所以如果事情发生的话,整理起来会更容易 错。

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

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

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

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

  5. 他们都没有安装错误信息而安装。