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

时间:2009-06-10 20:43:28

标签: delphi compiler-construction warnings delphi-6 hints

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

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

  1. 从源代码管理中查看我的应用程序的新副本
  2. 在Delphi和Compile中打开项目
  3. 显示项目的所有提示和警告
  4. 在一个单元中进行更改
  5. 编译
  6. 仅显示已更改单位的提示和警告
  7. 所以,我想也许我可以通过删除所有dcu文件来强制Delphi重新编译所有内容来欺骗Delphi。没运气。编译器确实重新编译了所有单元,但没有显示这些单元的提示和警告。

    编辑:执行完整版本(Project> Build)会产生相同的不幸结果。

    新信息:如果我修改单位然后编译,我会收到警告。但是,如果我修改一个单元然后修改,我就不会收到警告。我认为这指向警告在某处被关闭。可能在第三方图书馆?

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

5 个答案:

答案 0 :(得分:7)

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

更高版本将快捷键(Shift + F9)分配给“Build”命令。

要在Delphi 6中获取该键盘快捷键install this utility,我已经使用了一段时间,并在Delphi 5上取得了巨大成功。

答案 1 :(得分:3)

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

答案 2 :(得分:3)

我遇到了同样的问题,最后我找到了解决方案......搜索字符串$ WARNINGS OFF和$ HINTS OFF,而不只是来自* .pas文件,而是来自所有文件。我在第三方.inc文件中有这个奇怪的想法:

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

答案 3 :(得分:2)

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

答案 4 :(得分:0)

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

你的某些地方有其他错误或损坏。尝试删除项目.dsm和.dof文件(它们将被重建).dof文件包含警告和提示标志。