【问题标题】:What version of Delphi will let me create software that runs on a Mac?什么版本的 Delphi 可以让我创建在 Mac 上运行的软件?
【发布时间】:2011-03-12 13:37:03
【问题描述】:

我使用 Delphi,去年我从 D5 Enterprise 升级到 Delphi 2010 Profession。有时我会收到电子邮件,询问我何时会有在 Mac 上运行的版本。

是否有可以创建在 Mac 上运行的软件的 Delphi 版本?

如果没有,您知道 Embarcadero 是否计划在不久的将来推出这样的版本?

【问题讨论】:

  • 目前不,您不能从 Delphi 为 Mac 制作二进制文件。也许在未来。目前唯一可靠的解决方案是 DelphiPrism,或者您可以尝试使用 FreePascal。
  • 我想很多用户都会投票给这个问题,因为很多用户都需要它
  • 请注意,无论您考虑 Lazarus,还是未来在 mac 上运行的 Delphi 版本,您都必须进行大量 UI 更改以适应不同的平台。您现在可以开始准备,确保您的 UI 层(您的视图,在 Delphi 中主要是窗体和框架)运行与您的模型和/或控制器对象完全分开。
  • 我认为没有必要完全这样做。从 UI 中删除一些状态是一件好事(杀死 TComponent.tag),但除非你计划一个 webfrontend,否则 MVC 是矫枉过正的恕我直言。

标签: delphi macos delphi-2010


【解决方案1】:

您是否尝试过Lazarus IDE,它是usign Free Pascal 并且是免费的?这对包括 Linux 和 Windows 在内的 Mac OS 具有原生支持。它应该与Delphi相对兼容。虽然我还没有尝试过,但我的猜测是它可以转换大多数 Delphi 应用程序,而几乎不需要更改。

许多第三方供应商组件制造商甚至使组件与 Lazarus 兼容。因此,您拥有的任何第三方控件都有可能与 Lazarus 和 Free Pascal 一起使用。

Free Pascal 不仅支持多种操作系统,还支持 64 位编译,所以虽然 Embarcadero 的路线图上都有这些东西,但等待它们发布有点像等待彩票给你带来财富(对不起Embarcadero,我还在等待64位)。正如我所提到的,我自己还没有尝试过 Free Pascal/Lazarus,所以从 Delphi 迁移到这个解决方案有多复杂有点猜测;我想这取决于你的项目,但你可能会很幸运,而且过渡很顺利。

【讨论】:

  • 但这不仅仅是转换为 Embarcadero Delphi/Mac 吗?我不这么认为。将未考虑到 Kylix 设计的应用程序移植到 Kylix 也不是挑剔的。
  • Emba Delphi/Mac 可能更容易,因为语言相同,RTL 应该接近原生。取决于你有多少 GUI 代码。
  • 我对Free Pascal的理解是它确实非常接近Delphi。从我目前看到的情况来看,两者之间的区别仅在于类库,而不在于语言。但我可能弄错了。
  • David:如果您的代码尚未迁移到 Unicode,Free Pascal 实际上更接近,方言明智。 (因为它更像是 D2006-D2007ish)
  • @TommyA 字符串(=UnicodeString 自 Delphi 2009 以来)、泛型和属性有多种实现。 FPC 有一个“Delphi 模式”,这使它与大多数现有的 Delphi 代码兼容。 LCL 试图模仿 VCL(顺便说一下,这就是它如此庞大的原因,而 FireMonkey 将朝着另一个方向发展,不使用 VCL 架构)。
【解决方案2】:
  • Native Delphi 仅生成 32 位 Windows 可执行文件。这些只能在带有某种形式的仿真层的 Mac 上运行。
  • Delphi Prism 以 .net 为目标,可以使用 Mono 生成 Mac 应用程序。听起来您有一个现有的本机 Win 32 Delphi 应用程序,这意味着此选项不会非常有吸引力。

Embarcadero 正在开发一个可以生成本地 Mac 可执行文件的 Delphi 版本,但我的印象是这距离发布还有一段距离。即使它发布了,也需要进行大量的移植工作,特别是如果您的应用程序有大量的 GUI 代码。 VCL 将不会以与 Windows 相同的形式提供。

【讨论】:

  • 当然还有一个问题,如果 Delphi/Mac 将访问本机 API,或者在 Embarcadero 现有的基于 QT 的库 (CLX/VCLX) 上构建。
  • @David:你知道这里有各种各样的随机投票......一周前(大约)有人显然对我那一周给出的每个答案都投了反对票。 [您需要 125 分才能投反对票。也许这有点低...我不知道。]
  • @Marco 我得到的印象是CLX已经死了,火化了,骨灰已经被送到了外太空。我认为他们在谈论与 VCL 不特别兼容的原生 Mac 框架。有趣的是,Borland 错过了使用 Mac 的机会,Mac 是一款具有丰富 Pascal 传统的操作系统。
  • 当可以生成本地 Mac 可执行文件时,我会肯定加入 Delphi/VCL 潮流。一开始有一线希望,这可能是 .NET 平台的情况,尽管 Mono 项目已经填补了这一空白,但我从未对他们在 OS X 上的 UI 完全满意。有可能成为一些非常有趣的新闻......
  • @Cody 我认为没有 Visual Studio 就无法生存,并且不相信来自 Scotts Valley 的东西。 ;-)
【解决方案3】:

查看路线图:http://edn.embarcadero.com/article/39934 “Pulsar”项目,幻灯片 13。

在短期内,许多 Delphi 应用程序在 Mac 上的仿真运行良好,例如 Parallels Workstation。

【讨论】:

  • 这个(仿真/并行)已经满足了我的许多用户。他们经常有这样的经历,以至于不时期待它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2016-01-15
  • 2011-01-20
  • 2013-05-17
  • 2021-10-02
  • 2014-01-28
  • 2015-09-21
相关资源
最近更新 更多