如何强制 Delphi 编译器显示所有提示和警告

j9per5c4  于 2023-03-22  发布在  其他
关注(0)|答案(6)|浏览(168)

有没有一种方法可以强制 Delphi 编译器始终显示所有提示和警告?
以下是我在 Delphi 6中看到的行为:
1.从源代码管理中 checkout 我的应用程序的新副本
1.在 Delphi 中打开项目并编译
1.将显示项目的所有提示和警告
1.在一个单元中进行更改
1.编译
1.仅显示已更改单位的提示和警告
所以,我想也许我可以通过删除所有的dcu文件来欺骗 Delphi ,迫使它重新编译所有的东西。没有运气。编译器实际上重新编译了所有的单元,但不显示这些单元的提示和警告。

**编辑:**执行完整构建(Project〉Build)会产生同样不幸的结果。
**新信息:**如果我修改了一个单元,然后编译,我会得到警告。但是,如果我修改了一个单元,然后编译,我不会得到警告。我想这意味着警告在某个地方被关闭了。可能是在第三方库中?

看起来应该有一种方法可以让 Delphi 重新显示所有这些提示和警告,而不需要我从源代码管理中 checkout 一个新的副本,也不需要逐个修改每个单元。

k97glaaz

k97glaaz1#

提示和警告由编译器生成。它只会报告已编译的单元。“compile”命令只会编译已 * 更改 * 的文件。要强制重新编译项目使用的所有单元,请使用Build命令。
以后的版本为“Build”命令指定了一个快捷键(Shift+F9)。
在 Delphi 中使用键盘快捷键install this utility,我在Delphi5上使用了一段时间并取得了很大的成功。

fjaof16o

fjaof16o2#

我有同样的问题,最后我找到了解决方案...搜索字符串$WARNINGS OFF和$HINTS OFF,而不仅仅是从 *.pas文件,而是从所有文件。我在第三方.inc文件中有这个奇怪的想法:
{$IFDEF调试} {$警告打开} {$提示打开} {$ELSE} {$警告关闭} {$提示关闭} {$ENDIF}

iyzzxitl

iyzzxitl3#

我会检查一下,看看你是否在你的一些单位关闭警告。
根据单元中的最后一次更改,编译顺序可能会更改。在某些情况下,对于在之后编译的单元,警告可以保持禁用状态,而当刚从版本控制中 checkout 时,它在之前编译,并带有警告。
请特别注意您可能使用的任何Include文件。

jpfvwuh4

jpfvwuh44#

如果你使用dcc32.exe,所有的警告都会显示出来(这也是为什么我所有的项目都使用构建脚本的另一个原因)。

xbp102n0

xbp102n05#

我仍然在使用D 6的一些项目,如果我做一个完整的构建,那么所有的提示和警告都会显示/重新显示。对于语法检查或编译,只显示更改的单元消息。
你有其他错误或损坏的地方。尝试删除项目.dsm和.dof文件(它们将被重建)。dof文件包含警告和提示标志。

x4shl7ld

x4shl7ld6#

我设法摆脱了项目中的所有提示和警告,并想知道为什么“Build”选项卡没有显示任何信息。因此,我声明了一个未使用的变量并获得了一个-只是为了让我可以看到它。

相关问题