4

我们正在慢慢地将一个庞大而复杂的 Delphi 6 项目集合转换为 Delphi 2007。

在 Delphi 中,我可以在 dpr、dpk 和 pas 文件中使用编译器指令来使不同的代码对不同的版本可见。例如:

requires
  rtl,
  vcl,
  vclx,
  {$IFDEF VER180} //Delphi 2007 and later
  IndyCore,
  IndySystem,
  IndyProtocols;
  {$ELSE} //earlier than Delphi 2007
  IndyCore60,
  IndySystem60,
  IndyProtocols60;
  {$ENDIF}

但是,我不知道如何在 dof 文件中执行相同的操作。上面的 requires 子句适用于程序使用的包。我希望该程序对不同版本的 Delphi 有不同的包设置。所以我想在 dof 文件中添加如下内容:

{$IFDEF VER180}
Packages=vcl;rtl;vclx;IndySystem;IndyCore;IndyProtocols;MyPackage;
{$ELSE}
Packages=vcl;rtl;vclx;IndySystem60;IndyCore60;IndyProtocols60;MyPackage;
{$ENDIF}

我对 Delphi 2007 很陌生,所以希望我错过了一些非常明显的东西!

任何建议都非常感激。

4

2 回答 2

2

在 Delphi 2007 中,您不再需要 dof 文件。所有信息都在 dproj 文件中。

使用 2009 版,您可以创建不同的构建配置。

但正如我正确理解的那样,您在 Delphi 6 中有一个代码库并希望将其慢慢转换为 2007?

首先为什么不直接到2010?您将获得 unicode 支持(这可能是不去 2009/2010 的原因)。2010 的 IDE 非常适合使用。稳定和一些新功能。如果 unicode 不是你的东西,但你最终想要 64 位,你最终需要经历 unicode 阶段,所以为什么不现在。

接下来,您可以共享单元文件。但是为每个 Delphi 版本创建不同的项目。项目文件过于特定于版本,无法在版本之间共享。

于 2009-12-18T10:04:41.697 回答
0

D2007 不使用 *.dof。相反,选项存储在 YourProject.dproj 中。所以应该没有冲突。

于 2009-12-18T10:05:23.157 回答