【发布时间】:2010-09-10 00:59:09
【问题描述】:
有没有办法防止 Delphi 中的包隐式导入“包含”列表中未列出的单元?我正在寻找一个编译器指令,如果它试图进行隐式导入,它会使构建失败。
当您将一个包安装到隐式导入单元 A 的 IDE 中,然后您尝试安装另一个真正包含单元 A 的包时,IDE 告诉您它无法安装该包,因为单元 A 已包含在第一个包,即使它不应该是!
【问题讨论】:
标签: delphi compiler-construction packages
有没有办法防止 Delphi 中的包隐式导入“包含”列表中未列出的单元?我正在寻找一个编译器指令,如果它试图进行隐式导入,它会使构建失败。
当您将一个包安装到隐式导入单元 A 的 IDE 中,然后您尝试安装另一个真正包含单元 A 的包时,IDE 告诉您它无法安装该包,因为单元 A 已包含在第一个包,即使它不应该是!
【问题讨论】:
标签: delphi compiler-construction packages
Delphi 2009 可以选择将警告变为失败。就让它失败而言,这会做你想做的事。
为了防止隐式导入,您需要显式导入它,或者删除隐式导入它的单元。
【讨论】:
没有办法将该警告变为错误。在 Delphi 2009 中,您可以将所有警告视为错误。
PS:这是 Delphi for .Net 的错误
【讨论】:
如果您使用的 Delphi 版本早于 2009 年,您可以使用 DDevExtensions(它是免费的)使警告导致错误。安装后,转到工具 > DDevExtensions - 选项并在“编译器增强”部分中选择“活动”复选框和“将警告视为错误”。您可以在下面的备忘录中添加您不希望被视为错误的警告。不幸的是,在您的情况下,您似乎只希望将一个警告视为错误,因此您必须添加几乎所有警告,除了关于隐式导入列表的警告,尽管通常是解决问题的良好编码实践无论如何,所有编译器警告,因此您可能只想让所有警告都导致错误。
【讨论】: