德尔福XE2 : Is it possible to create Mac GUI applications without FireMonkey?

标签 delphi delphi-xe2 firemonkey

使用Delphi XE2,是否可以在不使用FireMonkey GUI的情况下创建Mac GUI应用程序?如果可以,可以使用什么以及如何进行?

最佳答案

原则上是可以的。但是您需要翻译 Apple 公开的 Objective-C header 和类。这是一项艰巨的任务,其中一部分已经由 FreePascal 人员或 Objective-Pascal 人员完成。

但是没有什么可以阻止您自己翻译(丢失的) header 。您可以在 Objective-C 运行时中使用纯 C 函数调用类的方法并执行其他功能 described on this page 。由于类库很大,这只是大量工作。您可以从核心基金会开始,然后是一般基金会,然后是 cocoa 、 quartz 等。这取决于您。您可能还想为这些类编写包装器。

目前,没有简单的方法可以做到您想要的事情。

但我计划编写一个简单的应用程序作为概念证明这是可能的。不过,这可能需要一些时间。

更新

您还可以在 Macapi 命名空间中使用由 Embarcadero 翻译的 CoreFoundation header (即以 Macapi 开头的所有单元,例如 Macapi.ObjectiveC.pas Macapi.ObjcRuntime.pasMacapi.CocoaTypes.pas 等)以及System.Mac.CFUtils。在那里您将找到(一些)主要的 CoreFoundation 类以及从 Delphi 使用它们的简单方法。不过,我不确定这些是否已正确记录,因此您必须自己找出如何使用它们。代码中的注释也许可以帮助您。

有关此内容的更多信息,请参阅 in the docwiki 。请注意,控制台应用程序也可以有 GUI。

更新2

是的,这绝对是可能的。请参阅http://rvelthuis.de/zips/sampleniblessapp.7z 。请注意,最重要的 Macapi 单元是 Macapi.AppKit

关于德尔福XE2 : Is it possible to create Mac GUI applications without FireMonkey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442131/

相关文章:

delphi - 如何使用 Python4Delphi 从 Delphi 返回列表到 Python

string - 编译器是否优化字符串连接?

delphi - 我正在寻找Delphi Firemonkey的拖放示例

delphi - 将纹理指定给 TModel3D

delphi - TVector3D.AddVector3D 不起作用(对我来说)

delphi - 如何绕过Windows的 'Copying'/文件传输窗口

mysql - 生成 DBF 文件

delphi - 如何在 TToolbar 上混合图标的图像列表?

java - WSDL导入问题Delphi XE2

delphi - VCL.图形库到FMX