gpt4 book ai didi

delphi - 编译器指令 - Delphi 版本

转载 作者:行者123 更新时间:2023-12-03 14:38:21 25 4
gpt4 key购买 nike

我前段时间用 Delphi 7 编写了一个单元,并且刚刚享受了转换为 Delphi XE (Unicode) 的乐趣(痛苦)。

在遇到一些麻烦后,该单元工作正常,我现在正在尝试使该单元与不同的 Delphi 版本兼容,以防我需要在更新其他代码时将 IDE 切换回 Delphi 7。

我只有 Delphi 7 和 Delphi XE,但从我收集的 Delphi 1 到 Delphi 2007 编写的代码可以编译,但 Delphi 2009 及更高版本的代码将是 Unicode。

...无论如何,在单元中我将非 unicode 和 unicode 分开,如下所示:

{$IFDEF VER150} //Delphi 7
// code
{$ELSE IFDEF VER220} //Delphi XE
// code
{$ENDIF}

如何修改编译器指令以使规则适用于多个版本?例如:

{$IFDEF VER80,  //D1
VER90, //D2
VER100, //D3
VER120, //D4
VER130, //D5
VER140, //D6
VER150, //D7}

如果我分发源代码或 .dcu 单元,这将覆盖所有 Delphi 版本。

谢谢。

最佳答案

我想知道在这种情况下最简单的方法是否是切换 UNICODE 条件的行为。当且仅当您使用 Delphi 的 Unicode 版本(即 Delphi 2009 及更高版本)时,才定义此条件。这样做的一大优点是它是面向 future 的——您不需要在每次发布新的 Delphi 时更新代码。此外,条件开关将更具可读性,因为它会清楚地表达意图。

Delphi 文档有一个非常好的 topic列出所有预定义的条件。版本条件的完整列表也是 linked从那里开始。

关于delphi - 编译器指令 - Delphi 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8270268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com