Delphi代码完成失败

Delphi代码完成失败,delphi,delphi-2010,code-completion,Delphi,Delphi 2010,Code Completion,我们使用EmbarcaderoDelphi2010,最近对一个中型项目的一个单元进行了更改,导致代码完成完全停止工作——但只有在这个项目中,它在其他项目中仍然可以正常工作。困惑的是,我在互联网上搜索到底是什么让这一切发生的线索,但我的搜索并不太成功 从我收集的信息来看,IDE似乎有几个解析器/编译器彼此完全分离,这使得更快的代码完成编译器完全有可能在主编译器无法完成的情况下失败。这正是我的项目所发生的事情 我的问题是:有没有办法找出代码洞察/代码完成编译器到底在哪里失败?IDE是否在任何地方保留

我们使用EmbarcaderoDelphi2010,最近对一个中型项目的一个单元进行了更改,导致代码完成完全停止工作——但只有在这个项目中,它在其他项目中仍然可以正常工作。困惑的是,我在互联网上搜索到底是什么让这一切发生的线索,但我的搜索并不太成功

从我收集的信息来看,IDE似乎有几个解析器/编译器彼此完全分离,这使得更快的代码完成编译器完全有可能在主编译器无法完成的情况下失败。这正是我的项目所发生的事情

我的问题是:有没有办法找出代码洞察/代码完成编译器到底在哪里失败?IDE是否在任何地方保留动态解析/编译日志

有没有办法找出Code Insight/Code Completion编译器失败的确切原因

不容易,不调试IDE也不行

IDE是否在任何地方保留动态解析/编译日志

没有



我建议你安装Andy Hausladen的IDEFixPack。如果这没有帮助,那么使用修订控制隔离导致问题的代码更改。并找到一种不同的方式来编写代码,而这种方式恰好不是bork代码完成的方式。尝试和错误可能是这里最有效的方法,正如我讨厌说的那样。

我最近在使用Delphi10.2时遇到了同样的问题。经过大量的研究,我发现我无意中在类型部分声明了一个带有结尾的变量;下面是下一行。删除错误将恢复代码完成功能。因此,我建议梳理接口以查找错误,或者从目录历史记录中恢复备份

我想说,检查一下你的#defines@PieterB哪个定义?@DavidHeffernan当我使用ifdefs时,我在codecompletion方面遇到了问题,没有ifdefs的代码是不符合逻辑的。@Pieter:谢谢!已经这么做了。我还检查了已知会对代码完成引擎造成问题的其他事件,例如try-finally块的最后一行中缺少分号或重复的{$R*.res}项。@PieterB Delphi不使用#define或#ifdef。你在考虑另一种语言吗?谢谢你的IDEFixPack想法。不幸的是,安装后我无法再构建我的项目。它立即失败,IDEFixPack DLL文件中存在访问冲突。很高兴卸载成功了。:-)我在寻找一个以“是”开头的答案。谢谢你的回答。我想我将不得不放弃,开始向这里的老板施压,要求升级编译器。谢谢。我可以谦卑地建议你考虑搬到XE5去吗?2010年不是一个非常稳定的版本。XE、XE2和XE5都要稳定得多,并且有许多编译器和IDE错误修复,2010年还没有。是否所有代码完成和错误洞察错误都已修复?没有。但是很多错误都被修复了。