Delphi - 仅在特定项目中缺少类/对象

时间:2016-03-12 21:14:31

标签: delphi delphi-xe3 indy10

今天我在为Delphi打开我的XE3 ide时遇到了一个非常奇怪的问题。 一个特定的项目组,我有十几个项目,直到昨天工作正常,开始向我显示错误,声明缺少Indy TIdUDPServer类。

报告的错误是对项目组内的一个项目的影响,我现在已经超过2个月没有触及也没有改变,除了运行 - >因此它默认被选中,因此尝试在启动时加载它的默认表单,其上放置了UDPServer组件。

让它变得奇怪而且不可理解:上面提到的项目构建得很好,并且上面有UDPServer组件,工作得很好,代码(.pas)也可以找到组件,并且可以毫无错误地操作 - 我只是无法获得表格显示。

此外,如果我关闭项目组,并打开另一个包含TIdUDPServer组件的项目,那么那个加载就好了。如果我之后再次加载提到的项目组,第一次引发错误的主窗体,加载就好了,我可以正常编辑它。

重新启动IDE时,会再次发生同样的事情,并且错误仍然存​​在。

启动IDE并选择项目组(也就是第一次尝试加载有问题的表单)时出现错误报告:

Cannot open file "C:\Delphi\MyProjectName\IdUDPServer". The system cannot find the file 
specified. Ignore the error and continue? NOTE: Ignoring the error may cause
components to be deleted or property values to be lost.

从下次我尝试加载表单(关闭.pas文件,加载另一个表单,并再次尝试打开有问题的表单)时,它会声明相同的错误,但路径为

  

“C:\ Windows \ System32下\ IdUDPServer”。

表单和文件的最后更改日期是2015年12月,以及项目本身。我只在项目组中添加了2个新项目,但这已经超过2个星期了,所以自昨天以来没有出现任何其他变化,而这一切仍然正常。 没有更新,没有IDE更改,没有新安装,我不会想到任何事情。

任何人都知道可能导致这种情况的原因,以及如何克服/解决问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果.dpr中提到的idudpserver.pas路径错误,可能会发生奇怪的事情。一旦它不能再使用旧的DCU,它就会开始寻找源,期望它在路径上,并且存在错误。

一般情况下,我避免将文件添加到dpr,除非它们是项目的“本地”