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

awm*_*oss 6 delphi

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

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

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

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

我正在使用Delphi 2010

Mas*_*ler 5

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


Bar*_*lly 5

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

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