如何在一个应用程序中同时拥有 VCL 和 FMX?

Ive*_*aev 3 delphi vcl compilation delphi-xe2 firemonkey

我有一个 VCL 应用程序和相当独立的 VCL 代码。我想包括 Fire Monkey 表单以支持 Mac OSX。

我计划大量使用 IFDEF 来确定应该使用 VCL 为 Windows 构建还是使用 FireMonkey 为 Mac OSX 构建。

不幸的是,如果应用程序是 VCL 平台,则无法从项目管理器添加 MacOS 平台。

有没有办法以某种方式破解这个?也许手动调整 .dpr 和 .dproj 文件?

Jer*_*ers 5

反过来做怎么样:

  • 从 FireMonkey 应用程序开始
  • 添加 OS X 平台目标
  • IFDEF 以便您可以在 VCL 或 FireMonkey 之间进行选择

对于 1-form 项目来说,做到这一点并不难,然后添加当前 VCL dpr 中的所有现有内容。

这实际上可能会让您能够弄清楚 VCL 和 FireMonkey 的 .dpr 和 .dproj 有何不同(我尝试过一次,但短期内要做的事情太多,所以我将其搁置以供将来研究)。

笔记:

将 IFDEF 放入 DPR 文件时要非常小心。Delphi IDE 拥有 DPR 文件,并且会删除 IFDEFS,例如当您添加新表单或更改某些项目属性时。