【问题标题】:Prevent implicit import of units in Delphi packages防止在 Delphi 包中隐式导入单位
【发布时间】:2010-09-10 00:59:09
【问题描述】:

有没有办法防止 Delphi 中的包隐式导入“包含”列表中未列出的单元?我正在寻找一个编译器指令,如果它试图进行隐式导入,它会使构建失败。

当您将一个包安装到隐式导入单元 A 的 IDE 中,然后您尝试安装另一个真正包含单元 A 的包时,IDE 告诉您它无法安装该包,因为单元 A 已包含在第一个包,即使它不应该是!

【问题讨论】:

    标签: delphi compiler-construction packages


    【解决方案1】:

    Delphi 2009 可以选择将警告变为失败。就让它失败而言,这会做你想做的事。

    为了防止隐式导入,您需要显式导入它,或者删除隐式导入它的单元。

    【讨论】:

    • 好的,我找不到。我以为它在那里,但我可能不正确(偶尔发生)
    【解决方案2】:

    没有办法将该警告变为错误。在 Delphi 2009 中,您可以将所有警告视为错误。

    PS:这是 Delphi for .Net 的错误

    【讨论】:

      【解决方案3】:

      如果您使用的 Delphi 版本早于 2009 年,您可以使用 DDevExtensions(它是免费的)使警告导致错误。安装后,转到工具 > DDevExtensions - 选项并在“编译器增强”部分中选择“活动”复选框和“将警告视为错误”。您可以在下面的备忘录中添加您不希望被视为错误的警告。不幸的是,在您的情况下,您似乎只希望将一个警告视为错误,因此您必须添加几乎所有警告,除了关于隐式导入列表的警告,尽管通常是解决问题的良好编码实践无论如何,所有编译器警告,因此您可能只想让所有警告都导致错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-05
        • 2017-04-04
        • 2010-11-15
        • 2012-07-13
        • 1970-01-01
        • 2010-12-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多