Delphi XE2: возможно ли создавать приложения Mac с графическим интерфейсом без FireMonkey? - PullRequest
20 голосов
/ 16 сентября 2011

Используя Delphi XE2, возможно ли создать приложение Mac GUI без использования FireMonkey для GUI? Если так, что можно использовать и как это сделать?

Ответы [ 2 ]

21 голосов
/ 17 сентября 2011

В принципе это возможно.Но вам нужно будет перевести заголовки Objective-C и классы, представленные Apple.Это огромная задача, часть которой уже была выполнена людьми из FreePascal или людьми из Objective-Pascal.

Но ничто не мешает вам переводить (отсутствующие) заголовки самостоятельно.Вы можете вызывать методы класса и выполнять другие функции, используя функции чистого C во время выполнения Objective C , описанном на этой странице .Это просто много работы , так как библиотека классов огромна.Вы можете начать с Базового Фонда, затем с общего Founnation, а затем с Cocoa, Quartz и т. Д. Это зависит от вас.Вы, вероятно, также захотите написать обертки для классов.

В настоящее время нет простого способа сделать то, что вы хотите.

НоЯ планирую написать простое приложение в качестве доказательства концепции, что это возможно.Однако это может занять некоторое время.

Обновление

Вы также можете использовать заголовки CoreFoundation, переведенные Embarcadero, в пространство имен Macapi (т. Е. Все устройства, начинающиеся с Macapi , например Macapi.ObjectiveC.pas , Macapi.ObjcRuntime.pas , Macapi.CocoaTypes.pas и т. Д.), А также System.Mac.CFUtils .Там вы найдете (некоторые из) основные классы CoreFoundation и простые способы их использования из Delphi.Однако я не уверен, что они правильно задокументированы, поэтому вам придется самим выяснить, как их использовать.Комментарии в коде могут помочь вам.

Немного больше об этом можно найти в docwiki .Обратите внимание, что консольное приложение также может иметь графический интерфейс.

Обновление 2

Да, это определенно возможно.См. http://rvelthuis.de/zips/sampleniblessapp.7z.Обратите внимание, что самым важным Macapi оказалось Macapi.AppKit .

1 голос
/ 17 сентября 2011

Хотели бы вы создать приложение с графическим интерфейсом Windows без VCL?
Это примерно та же идея, использующая непосредственно MacAPI вместо WinAPI.
Возможно, немного сложнее (занижение), так как нет такого богатствадокументации о том, как это сделать с точки зрения Delphi / Pascal.

...