德尔福 ->禁用来自外部单元的弃用警告



我有一个XE2测试项目(DUnit)。所有工作和编译都很好。然而,我们有一个我无法消除的警告:

[DCC Warning] GUITestRunner.pas(1237): W1000 Symbol 'TimeSeparator' is deprecated: 'Use FormatSettings.TimeSeparator'

然而,问题是该代码来自与XE2捆绑在一起的GUITestRunner:**

\Embarcadero\RADStudio\9.0\source\DUnit\src**GUITestRunner**

**。

我确实尝试在.dpr文件中使用{$WARN SYMBOL_DEPRECATED OFF}。但是,这仅适用于当前程序集。

除了篡改XE2附带的代码外,你知道有什么方法可以消除这个警告吗?

非常感谢!

您应该能够通过简单地链接预编译的DCU而不是重新编译PAS文件来消除警告。

但是
修改第三方代码以修复警告没有错。我在DUnit中遇到了一些小缺陷,我选择在原始单元中修复这些缺陷。

对DUnit进行更改的建议:

  • 不要修改安装文件夹中的文件
  • 相反,复制到一个新的位置,并将您的项目引用到新的位置
  • 您将希望新位置处于源代码管理之下(与任何其他源代码一样)
  • 这使您可以记录您所做的任何更改;因此,如果您得到DUnit的更新,您可以很容易地重新应用您的自定义更改
  • 当然,您可能希望尽量减少直接在DUnit文件中所做的更改,以减少更新库的工作量。也就是说,对于DUnit的每一个考虑的更改,都要弄清楚是否有合适的替代方法可以在不直接修改的情况下实现更改

编辑

关于您对其他开发人员和构建机器的担忧:更有理由将更改置于共享源代码管理之下。

的确,指令只适用于它们所在的单元,除了一些影响链接的指令。

我不知道XE2,但在XE3中,你可以在"项目选项"->"delphi编译器"->"提示和警告"中进行配置,并在项目全局级别上打开和关闭各种警告。

我用DateTimePicker得到了这个错误。'W1000符号已弃用。解决方案是使用更新的DateTimeEdit。(使用Raize组件。)

:)Kai Inge

最新更新