Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 德尔福can';在库路径中找不到单位_Delphi - Fatal编程技术网

Delphi 德尔福can';在库路径中找不到单位

Delphi 德尔福can';在库路径中找不到单位,delphi,Delphi,我刚刚安装了Delphi10.1 Berlin,我遇到了库路径的问题。当在库路径中使用单元(至少一些)时,Delphi无法找到它们,并给出一个F2613错误,“未找到单元XXX” 为了设置一个非常简单的测试,我创建了一个名为“SampleUnit.pas”的单元,其中包含一个函数(sum),将文件放在新创建的文件夹“C:\TempLibrary”中,并将该文件夹添加到选项->Delphi选项->库->库路径。我检查了好几次拼写,我完全确信一切都是正确的。然后我制作了一个这样的控制台应用程序 pr

我刚刚安装了Delphi10.1 Berlin,我遇到了库路径的问题。当在库路径中使用单元(至少一些)时,Delphi无法找到它们,并给出一个F2613错误,“未找到单元XXX”

为了设置一个非常简单的测试,我创建了一个名为“SampleUnit.pas”的单元,其中包含一个函数(sum),将文件放在新创建的文件夹“C:\TempLibrary”中,并将该文件夹添加到选项->Delphi选项->库->库路径。我检查了好几次拼写,我完全确信一切都是正确的。然后我制作了一个这样的控制台应用程序

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  SampleUnit;

begin
  writeln(Sum(12,13));
end.
并编译了它。Boom,“[dcc32致命错误]项目1.dpr(9):未找到F2613单元‘SampleUnit’。”

如果我用

uses
  SampleUnit in 'c:\templibrary\sampleunit.pas';
它很好用。将“C:\TempLibrary”添加到项目搜索路径也可以解决此问题

我错过了什么?这在以前版本的Delphi上已经起到了作用,在柏林版本的其他安装上也确实起到了作用(我在虚拟机上有另一个安装,在那里它工作得很好)

我意识到这可能是我的设置中的一个问题,其他人可能很难/不可能确定,但如果有人能提供任何关于我应该去哪里的见解,那就太好了

更新:


问题已经解决了,但我不确定究竟是什么解决了它。我开始重新安装,收到一条警告,说我的系统路径的长度接近长度限制。我清理了系统路径(删除了对旧RAD studio安装的引用),然后重新安装了Delphi 10.1 Berlin,现在一切都恢复正常了

问题似乎在于我的系统路径的长度。我通过删除对早期Delphi版本和一些其他过时内容的引用来缩短它,并重新安装了Delphi,现在一切都和以前一样正常


PS:在缩短了我的系统路径之后,我尝试在重新安装Delphi之前构建我的测试项目,但没有成功。安装过程中可能出现问题,这可能是由于系统路径的长度造成的,也可能不是。我不能绝对肯定是系统路径导致了问题,但它似乎是最有可能的候选路径。

库路径:指定编译器可以在其中找到程序包所需文件的搜索路径,例如.dcp和.bpi文件。
@LU RD:什么意思?你的意思是我所做的应该有效,还是不应该有效。我的单元的路径在库路径中,但它只是.pas文件。我是否需要设置一些参数来设置.dcu文件应该放在哪里,并将该路径添加到我的库路径中?源文件(.pas、.dfm、*.inc等)应该进入项目搜索路径,除非您在项目文件中提供该路径,如您的示例所示。在Berlin之前,我使用XE 7。我在一个专门的文件夹中保存了一组单元,我在我的许多项目中都使用了这些单元。无需将这些单位添加到每个项目文件中,此操作就可以正常工作。你是说这种方法不再有效了?我认为这就是Delphi中库路径的全部思想…@SveinBringsli,过长的系统路径通常是错误的来源。Delphi的每一个版本都会在其中添加很多东西,然后突然出现奇怪的错误。不要在问题中添加这些信息,请在回答中添加这些信息。