Delphi XE2:是否可以在没有FireMonkey的情况下创建Mac GUI应用程序?

Sha*_*ews 20 delphi delphi-xe2 firemonkey

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

Rud*_*uis 21

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

但没有什么能阻止你自己翻译(缺失)标题.您可以使用本页描述的Objective-C运行时的纯C函数调用类的方法并执行其他函数.这只是很多工作,因为类库非常庞大.你可以从Core Foundation开始,然后是一般的Foudnation,然后是Cocoa,Quartz等.这取决于你.您可能还想为类编写包装器.

目前,开箱即用,没有简单的方法来做你想要的.

但我打算写一个简单的应用程序作为概念的证据,它是可能的.但这可能需要一些时间.

更新

您还可以使用Embarcadero在Macapi命名空间中翻译的CoreFoundation标题(即所有以Macapi开头的单位,如Macapi.ObjectiveC.pas,Macapi.ObjcRuntime.pas,Macapi.CocoaTypes.pas等),以及系统.Mac.CFUtils.在那里你可以找到(一些)主要的CoreFoundation类以及从Delphi中使用它们的简单方法.不过,我不确定这些是否已正确记录,因此您必须自己了解如何使用它们.代码中的注释可能会对您有所帮助.

关于这方面的更多信息可以在docwiki中找到.请注意,控制台应用程序也可以具有GUI.

更新2

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