如何在特定的警告代码上停止Delphi编译器?

use*_*561 8 delphi

我希望编译器在给定警告时停止,就像它是一个错误一样。

目标是强制考虑可能对代码真正有害的警告(并非每个警告在严重性方面都相等)

例如,我希望编译器停止此类警告:

  • 结果可能未初始化
  • 不推荐使用的方法的用法
  • ...

我在IDE中找不到任何选项,也许在命令行编译器中找不到?

德尔福10.3.2

谢谢,

And*_*and 13

记录在案:警告消息(Delphi)

您使用编译器指令

{$WARN identifier ERROR}
Run Code Online (Sandbox Code Playgroud)

将警告命名identifier为错误。文档页面包含所有可能的警告的列表。例如,

{$WARN NO_RETVAL ERROR}
Run Code Online (Sandbox Code Playgroud)

会请客

W1035 Return value of function '%s' might be undefined
Run Code Online (Sandbox Code Playgroud)

作为错误。

更新:正如Sertac 指出的那样,您还可以使用项目选项BuldingDelphi编译器提示和警告输出警告为项目全局启用此设置。

  • 同样在编译器选项中->提示和警告->输出警告->“函数的返回值可能未定义”:[false | true | error]。 (4认同)