【发布时间】:2013-09-23 08:28:29
【问题描述】:
我在我的 Delphi 应用程序中使用 EurekaLog 7 Professional。从 Delphi 7 迁移到 Delphi XE4 时,我收到以下编译器警告。
[dcc32 Warning] myproject.dpr(4): W1006 Unit 'ExceptionLog' is deprecated
我应该如何摆脱这个警告?
【问题讨论】:
标签: delphi delphi-7 delphi-xe4
我在我的 Delphi 应用程序中使用 EurekaLog 7 Professional。从 Delphi 7 迁移到 Delphi XE4 时,我收到以下编译器警告。
[dcc32 Warning] myproject.dpr(4): W1006 Unit 'ExceptionLog' is deprecated
我应该如何摆脱这个警告?
【问题讨论】:
标签: delphi delphi-7 delphi-xe4
此类问题的答案始终是您需要删除对命名单元的引用并将其替换为对其替换的引用。
在这种情况下,EurekaLog KB article 是您的错误消息在网络搜索中的第一次点击,它提供了所有详细信息:
问题:
我在编译时收到“不推荐使用单元 'ExceptionLog'”错误 应用。但是,当我尝试移除这个单元时 - 我得到了很多 “未声明的标识符”错误。
原因:
ExceptionLog 单元是 EurekaLog 6 中的单元。它包含在 EurekaLog 中 7 导入旧的 EurekaLog 6 应用程序。但是,它被标记为 “不推荐使用”表示您的应用程序使用旧代码(即 来自 EurekaLog 6) 的代码。
EurekaLog 7 使用 ExceptionLog7 单元代替(以及其他单元 - 见下文)。
解决方案:
请注意,此消息并非错误。您的申请将是 编译并运行。它将正常运行。这条消息是一个 警告。通知您项目使用旧代码的警告。
在您的应用程序中使用 ExceptionLog 单元非常好。如果 你有旧的 EurekaLog 项目,然后你将 EurekaLog 升级到 版本 7 并导入您的项目 - 它将被导入 将使用兼容模式和 ExceptionLog 单元。现在你可以 重新编译您的应用程序,它应该像以前一样工作。几乎没有 需要更改代码。
如果您不想看到有关单元被弃用的警告 - 您 可以在项目选项中关闭这些通知或使用 $WARN UNIT_DEPRECATED ON/OFF 指令可选择地打开这些警告 部分代码的开/关消息。
但是,如果你想升级你的代码,那么你必须禁用 兼容模式并用引用替换 ExceptionLog 引用 到 ExceptionLog7 单元。此外,当您开始一个新项目时 - 然后您 默认情况下将使用新单位(因为没有已经写入 代码)。
请注意,EurekaLog 7 是对 EurekaLog 6 的重大重新设计。EurekaLog 6 在一个单元中包含几乎所有内容(ExceptionLog),而 EurekaLog 7 将代码拆分为多个单元(例如 ECallStack、 EModules、ESysInfo、EExceptionManager、EDebugInfo、ESend、EDialog、 ETC。)。这就是为什么您可能需要另外包括其他单位 你的使用条款。如果您收到“未声明的标识符”错误 - 那么 使用中缺少某些单元。您可以在 \Source 中运行文件搜索 包含您的 *.pas 文件的 EurekaLog 安装文件夹 遗漏的标识符(这也适用于没有完整的版本 源代码,因为它们包含标题)。或者,你可以学习 EurekaLog 7 的变化。
【讨论】: