问题描述
|
我全新的Delphi XE在“结构”面板中显示了数百个错误。它显示错误,例如\'130行未声明的FileExists'或\'242行未声明的创建\'。即使显示这些错误,程序也可以正常编译。
我还看到代码洞察力并不总是有效。当我将光标移到变量上时,光标开始闪烁,并且没有弹出窗口出现。其他时候,它只是用红色突出显示一些单位,并说找不到它们。
有技巧解决所有这些问题吗?
更新/伪修复:
我发现重新启动IDE会有一段时间。
我真的有帮助,有一天Embarcadero将发布Delphi ST(来自STable)。
:)
解决方法
是的,众所周知CodeInsight和ErrorInsight存在许多问题。他们的每个版本都已经好了一段时间了,但是还有很多工作要做。 Andreas Hausladen,他可能是Delphi社区中最聪明的人,他在IDE内部进行了很多摸索,他说他们有基于种族条件的bug,如果不完全重写,可能无法解决。 。
如果这些假错误给您带来麻烦,您可以禁用它们,如Ken在评论中所述。
,对我来说,通常可以帮助关闭项目并重新打开它。结构错误消失。
,如果您使库条目保持最新,则似乎很多Error-Insight问题都会消失。
AGES之前的某个人曾在早期Delphi版本的问题报告中指出过这一点,但似乎没有人接受。如果错误洞察力在LIBRARIES列表中遇到不存在的文件,它似乎只会停止进一步查找-到处都是那些烦人的红线花样!麻烦的是,该问题报告有很多条目,每个人似乎都在漏掉该解决方案!
转到“工具-选项”,然后找到“库”选项卡。浏览列表并消除所有绝对但无效的条目。您可能可以并且一开始就应该保留其中包含变量的任何变量,例如$(BDSLIB),即使它们无效,但也绝对要从删除声明为不包含变量的无效变量开始(这就是我的意思是绝对的)。如果您是gung-ho,只是让Delphi自动删除无效的变量,那么所有带有“未实现”变量的变量也会消失-这将破坏很多事情(这是我相信在此论坛其他地方讨论过的另一个Delphi错误) 。您可能还必须使用Project-Options库重复此操作,但是如果项目来自其他人,请在这里更加谨慎!
如果那不能立即完成任务,请使用适当的选项选项卡将“错误检查”复选框关闭,然后再次打开(每次关闭选项对话框)。如果存在的话,那应该摆脱任何缓存的东西。
在Delphi XE4上,删除一些无效的条目对我有用。
,我们注意到了为什么会出现问题。
如果代码中存在一些无效的不可见字符,则显示为错误。当您复制一些文本并将其粘贴到delphi编辑器中时,有时会出现这些无效字符。然后,有时delphi会使用无效字符粘贴文本!
首先,您应该复制所有错误的文本并将其粘贴到notepad ++。
您会看到复制的所有文本也不会被粘贴。
您将看到该损坏的文本。您应该查看粘贴的代码,确定粘贴为文本的代码。您应该查看在记事本上看到的哪些代码已粘贴为最后一个字符。
在这里我们可以在捕获的图片上看到:\“ RoutePatternObject); \”
因此,在这些字符之后,此处会出现一些无效字符,但我们看不到!
因此,我们在\“; \”字符之后选择这些文本区域。
然后删除并再次输入删除的代码!
所有红色下划线签名将消失!
,我之前遇到过相同的错误,我问了同样的问题,这是答复:
从另一篇文章:
你没弄错。问题是有三个
XE2中的编译器(如先前的Delphi版本):真正的
编译器(可以正常工作),Code Insight编译器(可以
更快),Error Insight编译器(必须更快),
以及语法突出显示解析器(最快)。
XE2引入了许多使普通编译器成为可能的功能
速度较慢,并为Code Insight和Error Insight编译器提供了一些
麻烦。首先,我们有新的目标:Win32,Win64和OSX
这会导致每个目标的搜索路径不同(请参见
$ PLATFORM指令),以及构建配置(尽管有)
每个平台只有一个“库路径”(而非构建
配置)。
第二个复杂因素是点缀的单位名称(作用域单位)
名称)。 Windows不再是Windows,而是
Winapi.Windows。
我的猜测是这两个额外的复杂因素导致
Code Insight和Error Insight编译器的问题。注意
真正的编译器仍然有效。但是错误洞察显示不正确
错误,并且Code Insight并非总是适用于这些单元。
您可以尝试将它们再次明确添加到项目中(在其中
情况下将使用完整路径,例如您在问题中提到的
堆栈溢出)。
我发现的是:
99%的错误归因于未正确保存编辑的文件
(包括参考)
如果添加配置文件,请保存.dpr,.dproj,.pas,.dfm文件(保存
单位,保存项目)
如果全部失败,则保存+重新启动通常会解决该问题
对于较旧的项目,请删除.res文件,该文件具有错误的路径,
Delphi将重新创建它。
(很抱歉,最初的帖子不好,只是拥有一个Stackoverflow帐户,不允许对其进行编辑。我希望这足够了)
,将pas文件复制并粘贴到记事本中,清除pas文件,保存,关闭IDE,打开IDE,然后从记事本复制并粘贴回到pas文件对我来说很有效。