9

有没有办法强制 Delphi 编译器一直显示所有提示和警告?

这是我目前在 Delphi 6 中看到的行为:

  1. 从源代码管理中查看我的应用程序的新副本
  2. 在 Delphi 中打开项目并编译
  3. 显示项目的所有提示和警告
  4. 改变一个单位
  5. 编译
  6. 仅显示更改单位的提示和警告

所以,我想也许我可以通过删除所有文件来欺骗 Delphidcu以强制它重新编译所有内容。没运气。编译器实际上会重新编译所有单元,但不会显示这些单元的提示和警告。

编辑:执行完整构建(项目>构建)会产生同样不幸的结果。

新信息:如果我修改一个单元然后编译,我会收到警告。但是,如果我修改一个单元然后构建,我不会收到警告。我认为这表明警告在某处被关闭。可能在第三方库中?

似乎应该有一种方法可以让 Delphi 重新显示所有这些提示和警告,这些提示和警告不需要我从源代码管理中检查新副本或逐个修改每个单元。

4

5 回答 5

7

提示和警告由编译器生成。它只会报告它已编译的单元。“编译”命令只会编译已更改的文件。要强制重新编译项目使用的所有单元,请改用Build命令。

更高版本为“构建”命令分配了一个快捷键 (Shift+F9)。

要在 Delphi 6 中获得该键盘快捷键,请安装此实用程序,我在 Delphi 5 上使用了一段时间并取得了巨大成功。

于 2009-06-10T20:46:22.893 回答
3

I would check to see if you turn the warnings off in some of your units.
Depending on the last change in the units, the compiling order can change. In some cases the warnings can remain disabled for a unit that is compiled after while, when freshly checked out of version control, it was compiled before, with the warnings.
Pay extra attention to any Include file you may use.

于 2009-06-11T18:05:28.543 回答
3

I had the same problem and finally i found solution... Search for strings $WARNINGS OFF and $HINTS OFF, and not just from *.pas files but from all the files. I had this strange idea in third-party .inc file:

{$IFDEF DEBUG} {$WARNINGS ON} {$HINTS ON} {$ELSE} {$WARNINGS OFF} {$HINTS OFF} {$ENDIF}

于 2010-07-27T13:53:05.547 回答
2

如果您使用 dcc32.exe,将始终显示所有警告。(这是我为所有项目使用构建脚本的另一个原因。)

于 2009-06-10T22:10:19.730 回答
0

我仍在将 D6 用于某些项目,如果我进行完整构建,则会显示/重新显示所有提示和警告。对于语法检查或编译,仅显示更改的单元消息。

您在某处有其他问题或损坏。尝试删除项目 .dsm 和 .dof 文件(它们将被重建) .dof 文件包含警告和提示标志。

于 2009-06-11T12:12:03.353 回答