错误:无法在BPL项目选项中编辑提示/警告

时间:2015-01-06 18:49:26

标签: delphi delphi-xe7

我利用了Embarcadero通过电子邮件收到的(时间有限的)升级优惠,并升级到Delphi XE7。我喜欢。像这样的好版本似乎有7年了:))

但我有一个问题:我不知道如何沉默一些警告。例如' W1011最终结束后的文字'。 '项目选项'盒子是不同的。所有这些可编辑的值都消失了。相反,我有3个条目,例如'值来自:调试配置 - 所有平台。'

我可以在哪里配置全局"调试配置 - 所有平台"事?

enter image description here

1 个答案:

答案 0 :(得分:7)

编辑:截屏后更新。下面标有“一般项目”的旧答案'因为它在一般情况下仍然有用,对于EXE,DLL等

仅限XE7中的BPL项目(在XE6中可以,在XE8 +中修复)

更新:此错误已为marked as resolved in XE8

我在你的截图中看到你打开了一个BPL项目(顺便说一句,你在XE7中使用了XE2 Graphics32软件包 - 最好使用专用的XE7项目。)

我可以验证BPL没有显示警告列表和其他项目类型的提示。 EXE,DLL等列出它们,如下所示。我认为这是a bug: RSP-8980.这是来自XE6的回归; XE6显示了预期的提示和警告,但XE7没有。

手动编辑DPROJ

David Heffernan指出,这些选项应该在项目中,即使用户界面不允许您编辑它们。一种方法是创建另一个项目(例如DLL),根据需要设置选项,并手动编辑BPL的项目文件(.dproj)以包含它们,从正确设置的其他项目中复制。

这很复杂 - 它的XML,您需要完全正确地获取所有命名配置等 - 但会模仿UI为您做的事情。

BPK文件

您可以通过在.bpk文件中指定它们来解决此问题。您可以在GR32 .bpk文件中看到许多项目选项:

A new BPL project's BPK file

BPK类似于DPR文件,仅适用于BPL。要查找此文件,请右键单击BPL项目,然后单击“查看源代码”。

如果添加行

{$WARN GARBAGE OFF}

并重建(不重新编译,但构建)项目,您将看到之前显示警告W1011的所有单位现在都没有。

当你必须通过名字而不是数字来引用它们时,你怎么知道特定的警告是什么?在this handy blog post上查找它们。

我添加了两个质量错误报告:

一般项目

项目有多个targets(例如Windows 32位调试,VSX 32位版本等),并且可以为每个项目设置设置。此外,这些设置是可继承的,因此您可以为所有调试目标,所有发布目标等设置设置。

通常,您应该设置尽可能高的设置,并在最具体的级别覆盖。

以此为背景,更改W1011 Text after final end打开“项目选项”并导航到“提示和警告”部分。在'目标'在顶部的下拉菜单组合中,选择要进行更改的最高级别目标(例如,在此屏幕截图中,我已选择'调试配置 - 所有平台'这意味着Win32调试和Win64 Debug和任何其他平台调试将使用此设置和此处指定的值。)

展开“输出”警告'树,忽略了Foo'中的暗红色值。这些节点指的是继承的值 - 这里不可能使用它,对其他设置更有意义。从你的问题来看,这些是我认为令你困惑的。相反,向下滚动,直到您看到最终结束后的文字' (警告按字母顺序排序。)

Project Options, with a specific warning selection

选择它,然后选择您感兴趣的选项。

避免混淆的关键事项:

  • 继承选项
  • 使用顶部的组合框选择应用设置的级别
  • 以最具体的方式覆盖
  • 设置最通用的
  • 设置值时,忽略暗红色"来自Foo"的值继承节点;只需向下滚动或展开,然后设置所需的设置