2

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

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

然而问题是这段代码来自与 XE2 捆绑的 GUITestRunner:**

\Embarcadero\RAD Studio\9.0\source\DUnit\src**GUITestRunner**

**。

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

除了篡改 XE2 捆绑的代码之外,您知道有什么方法可以消除该警告吗?

非常感谢!

4

3 回答 3

2

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

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

对 DUnit 进行更改的建议:

  • 不要修改安装文件夹中的文件。
  • 而是将副本复制到新位置,并将您的项目引用到新位置。
  • 您需要在源代码控制下的新位置(与任何其他源一样)。
  • 这使您可以记录所做的任何更改;因此,如果您获得了 DUnit 的更新,您可以轻松地重新应用您的自定义更改。
  • 当然,您可能希望将直接在 DUnit 文件中所做的更改保持在最低限度,以减少更新库的工作量。即,对于每个考虑的 DUnit 更改,确定是否有合适的替代方法来实现更改而无需直接修改。

编辑

关于您对其他开发人员和构建机器的关注:更有理由在您共享源代码控制下进行更改。

于 2013-12-07T06:58:24.143 回答
2

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

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

于 2013-12-06T16:59:11.913 回答
1

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

:) 凯英格

于 2013-12-06T17:12:00.627 回答