繁体   English   中英

查找Delphi项目中的所有编译错误

[英]Find all compilation errors in a Delphi project

我正在对我的Delphi项目进行一些重构。 我希望能够进行更改,然后查看项目中因该更改而中断的所有位置。 类似于Eclipse列出项目的所有编译错误(在Java中)。

在Delphi中,我可以进行更改,然后重新编译我的项目,但编译器在找到第一个不编译的Unit时会停止。 我必须修复该单元,再次编译,然后将显示下一个错误,等等。

我希望能够立刻看到项目中的所有编译错误。 然后我可以决定改变是否值得做。 例如,如果更改需要手动修复50个单独的源文件,则不值得这样做。 但如果它只打破2个文件那么这是一个很容易的改变。

在Delphi中有什么办法吗? 我是否可以告诉编译器在找到无法编译的单元后仍继续运行?

我正在使用Delphi 2010

使用Delphi编译器无法做到这一点,但如果您正在考虑对单元的公共接口的某些部分进行重大更改,则可以使用IDE附带的重构工具来查找对您的任何内容的所有引用在你改变它之前就要改变了,它将为你提供你正在寻找的信息。

Delphi单元作为模块化功能,在概念上与Java jar或.NET程序集处于类似的水平; 他们编译成单个文件。 在Java和.NET中,如果在引用的模块中存在编译错误,则可以编译依赖模块。

它们比.NET程序集等更精细的原因归功于它们的历史。 它们的设计部分围绕分段x86架构; 与任何一个单元相关的数据不能大于64KB。 类似地,单元作为近代码和远代码之间的自然划分。 如果你熟悉16位x86,你就会知道指向远数据的指针需要一个段的值以及偏移量,而near数据只需要一个偏移量。 调用near代码也比调用far代码更快。 当时的节目也较小,也不那么复杂; 对于整个子系统的行为,该单元是一个合理的模块粒度。 今天的情况要少得多。

Delphi编译器已经尝试尽可能多地编译。
不幸的是,很多时候,错误是至关重要的,足以阻止编译器移过错误,因为它无法假设代码应该是什么,如果可编译的话。

此外,经常遇到第一个错误后编译器可以给出的错误是不可靠的,甚至可能在第一个错误修复后消失。 (见证所有红色波浪线出现并在您输入时消失)

然而,编译器所做的是提供所有提示和警告(对于其他一些编译器称为错误)。

您可以使用Ctrl-Shift-Enter查看当前在光标下的变量,属性,方法或wahtever的所有出现。 有了这些信息,您可以决定是否进行更改。

唉,对于当前版本,此功能无法正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM