首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVCL中的过程入口点无效(jclsysinfo)

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

Stack Overflow用户
提问于 2017-05-25 17:15:00
回答 2查看 354关注 0票数 0

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

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

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

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

EN

回答 2

Stack Overflow用户

发布于 2017-05-25 18:48:26

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

这些dcp文件大多数情况下(除非另有说明-请参见下一段)位于BPL文件夹旁边的DCP文件夹中。

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

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

票数 0
EN

Stack Overflow用户

发布于 2017-05-25 19:03:53

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

我不确定下面的方法是否适用于您,因为我没有安装D2010来测试它。在步骤4中,您只需使用一个.Dpk文件就可以非常快速地将其签出。

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

  1. 我卸载了JCL和JVCL,并删除了所有的JV*.BPL,.DCP和.DCU文件
  2. 我运行了JCL安装.bat,并忽略了所有的提示来添加文件夹到系统路径,因为我的Lib2文件夹已经在该路径下。
  3. 在我的Delphi版本的JVCL\Packages下的文件夹中,我编辑了所有的.Dpk文件以使用我的Lib2文件夹来保存BPL,DCP和DCU输出文件。这有点繁琐,但只需要做一次,而且可以通过使用键盘宏来简化。
  4. 然后使用集成开发环境包工具,编译并安装了名称中包含“.Dpk”的所有JVCL .Dpk文件,并且我想要安装这些文件。

它们都已安装,并且没有收到错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44176708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档