使用XE6在我的Delphi 5文件中找不到jedi

时间:2014-08-05 18:29:44

标签: delphi delphi-5 delphi-xe6 jedi

我有一个在Delphi5中创建的多文件项目,我正在尝试在Delphi XE6中编译。

在我的DSPack.pas文件中,我收到错误:“找不到''jedi.inc'...”与代码行相关:

{$I jedi.inc} 

...还有很多,主要是“未声明的标识符”,错误显示为错误 - 但命名为初始错误,我认为这是因为编译器无法找到jedi.inc文件...

我在我的Comps文件夹中找到了jedi文件 - jcl-。

我的问题有三个:

一:为什么XE6没有注册jedi.inc,而在Delphi 5中呢?

二:jedi文件通常位于哪里?

我相信我已经下载了jcl文件的更新版本(jcl-2.6.0.5178)。

三:我的项目需要做什么才能编译并找到jedi.inc文件?

1 个答案:

答案 0 :(得分:0)

我想您已经意识到可以通过单击D5..XE6 IDE中的“将文件添加到项目”按钮将.Pas添加到项目中。您也可以使用.Inc文件执行此操作。但是......

当您为.Pas文件执行此操作时,您可以在项目管理器弹出窗口中看到它已记录了它的路径,这足以让编译器能够找到它。但是,出于某种原因,的情况与.Inc文件相同。这显然是出于设计,因为这种差异至少早在D5,IIRC就已存在。 TBH,我不知道为什么,因为我已经多次看到如果编译器能够从项目经理明显知道其位置找到.Inc文件就可以避免的问题。所以,我无法回答你的问题?"为什么?"查询,虽然我敢说编译器设计师可以。

要使编译器能够找到.Inc文件,您有两种方法可以处理您的"如何"查询(除了移动.Inc文件,在JCL / JVCL这样大而复杂的东西的情况下可能不是一个好主意):

  • 在{$ I}指令中包含.Inc文件的路径。在我的例子中,JCL的东西位于Jedi文件夹下面的两个文件夹中,该文件夹本身位于我的D:驱动器上的Delphi目录下面,所以我会编写" {$ I ...}"作为

{$ I D:\ Delphi \ Jedi \ JCL \ Source \ Include \ Jedi.Inc}

  • 将.Inc文件的路径添加到
  • 下的路径列表中

Project | Options \ Delphi编译器|搜索路径。第一种方法可能更可取,因为它只涉及.Inc文件,而第二种方法则告诉编译器在该路径中查找它尚未找到的任何内容,这可能并不总是可取的。

关于你的"其中"从你可能从其中一条评论中收集来看,JCL / JVCL发行版中Jedi.Inc文件的位置似乎已经从过去的日子搬到了现在的位置,我认为这就是为什么你和#39;在D5下用于编译的东西遇到了这个问题。