问题 为什么Delphi说“无法解析单位名称xxx”?


我正在使用Delphi2010 Enterprise Update 4。
当我在IDE中打开我的项目并显示mainform代码时,有 2个单位名称以红色下划线

xxx http://img268.imageshack.us/img268/6475/unitnameunresolved.png

我有 验证 单位源的路径在 Library path 并在 Browsing path

令人惊讶的是,当我正在右键单击该单元并选择时 Open file at cursor,它的工作原理(即德尔福打开正确的单位)。

有什么想法吗?


11526
2017-11-24 09:58


起源

错误洞察力是非常错误的 - 参见例如 stackoverflow.com/questions/2112729/biggest-delphi-nitpicks/...。 - Uli Gerhardt
@CodeInChaos:当然,编译得很好:) - TridenT
我使用IDE修复包迁移到DelphiXE,它运行得更好(但当然不是固定的!) - TridenT


答案:


Error Insight 将所有错误消息保存到结构视图中是非常错误的。 它不像编译器理解的那样理解你的代码。

有一个 IDE Fix Pack 由开发 安德烈亚斯豪斯拉登 这减少了那些“无法解决单位xyz”问题的数量。

它不能解决这个问题,但是通过解决一些Error Insight的线程问题,它会使它们变得不那么明显。


8
2017-11-24 10:56



gooood!该 IDE Fix Pack 2009/2010/XE 3.5 修复了这个项目的问题。谢谢 乌尔里希·格哈德 & 巴拉特 ! - TridenT


出于好奇,AdPort和/或AdStatLt中的任何代码是否需要进行条件编译?

支持Error Insight的解析器是我认为编译器的不同(物理和上下文)。编译器可能能够理解Error Insight不是的那些条件编译区域。

这只是我的猜测,但是在Delphi 2010中,Error Insight得到了很大的改进,现在通常只在我的代码中有错误时才会解决,我还没有解决。


2
2017-11-24 10:45



是的,有很多行udner consitional编译。不知道我的问题是否存在可疑链接... - TridenT


关闭和重新打开项目通常有助于摆脱大多数这些错误。尝试一下...

(这并没有改变现在的事实,这可能是我在IDE中的头号烦恼...)


1
2017-11-24 12:01



对我不起作用:( - TridenT


我重置了too​​ls \ options \ environment options \ delphi options \ library下的库路径。

单击下拉框,然后重新选择您的操作系统,它将重置库的路径。为我工作。


0
2018-01-24 19:42