【问题标题】:Delphi -> disable deprecated warnings from external UnitsDelphi -> 禁用来自外部单元的已弃用警告
【发布时间】:2013-12-24 02:38:00
【问题描述】:

我有一个 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**

**.

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

除了篡改 XE2 捆绑的代码之外,您是否知道任何摆脱该警告的方法?

非常感谢!

【问题讨论】:

  • 篡改代码有什么问题?这是 Delphi XE 2 附带的代码,它永远不会与任何其他版本一起使用,因此没有理由不对其进行编辑,使其符合 Delphi XE 2 的理想。 (如果您升级,您可以使用新版本附带的 DUnit 版本,或者下载 DUnit 的独立版本;无论哪种方式,您对 XE 2 副本所做的更改都将是孤立的,并且在外部是无害的.)
  • 警告甚至显示了正确的修复,因此将该修复应用于设备并没有任何危险。
  • @RobKennedy + Stefan 问题是涉及到许多开发人员,除了所有自动构建机器之外,他们也必须做出改变。如果只是我,我确实会更改 DUnit 代码。
  • 然后停止使用 Delphi 提供的代码并获取独立版本。将它包含在您的源代码管理中,然后每个人都会有相同的修复。

标签: delphi delphi-xe2 dunit


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    :) 凯英格

    【讨论】:

    • 由于许多组件必须支持较旧的 delphi 版本,这并不总是可行的,除非您关闭所有警告,这也不理想。
    • 欢迎来到 Stack Overflow。感谢您分享您的轶事,但我不确定它如何回答这个问题。你能扩大你的答案吗?
    【解决方案3】:

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

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

    对 DUnit 进行更改的建议:

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

    编辑

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

    【讨论】:

    • 我听从了您的建议,最终将 DUnit v 9.4 的修改副本置于源代码控制之下。顺便说一句,您是否知道为什么 DUnit 项目页面上提供的最新版本是 9.3,而 Delphi 附带的版本是 9.4?
    • 我不知道。也许在其他地方有一个项目的分支。另一个源代码伪造项目,甚至可能是 github。我记得几年前有人开始了一个 DUnit2 项目。
    猜你喜欢
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 2020-12-06
    相关资源
    最近更新 更多