使用Delphi XE2,是否可以创建一个Mac GUI应用程序,而不使用FireMonkey进行GUI?如果是这样,可以使用什么,怎么办?
解决方法
原则上是可能的。但是,您需要翻译由Apple公开的Objective-C头文件和类。这是一项巨大的任务,其中一部分已经由FreePascal人或Objective-Pascal人完成。
但是没有什么可以阻止你自己翻译(缺少)标题。您可以使用Objective-C运行时described on this page中的纯C函数调用类的方法并执行其他函数。只是很多工作,因为类库是巨大的。你可以从核心基金会,然后一般的Foudnation,然后可可,石英等开始,这取决于你。你可能还想为课程写封包。
目前,开箱即用,没有简单的方法来做你想要的。
但是我打算写一个简单的应用程序作为可能的概念证明。那可能需要一些时间。
更新
您还可以使用Embarcadero翻译的CoreFoundation标头,Macapi命名空间(即以Macapi开头的所有单位,如Macapi.ObjectiveC.pas,Macapi.ObjcRuntime.pas,Macapi.CocoaTypes.pas等)以及系统.Mac.CFUtils。在那里你会发现(一些)主要的CoreFoundation类和使用Delphi的简单方法。我不知道这些是否有正确的记录,所以你必须找出自己如何使用它们。代码中的注释可能能够帮助您。
有一点可以找到in the docwiki.注意,控制台应用程序也可以有一个GUI。
更新2
是的,绝对有可能。见http://rvelthuis.de/zips/sampleniblessapp.7z。请注意,最重要的Macapi单元原来是Macapi.AppKit。