Delphi XE2を使用して、GUIにFireMonkeyを使用せずにMac GUIアプリケーションを作成することは可能ですか?もしそうなら、何を使用することができ、どのようにそれを行うのでしょうか?
2 に答える
原則として可能です。ただし、Appleによって公開されているObjective-Cヘッダーとクラスを翻訳する必要があります。これは大きなタスクであり、その一部はFreePascalの人々またはObjective-Pascalの人々によってすでに実行されています。
しかし、(欠落している)ヘッダーを自分で翻訳することを妨げるものは何もありません。このページで説明するObjective-Cランタイムで、純粋なC関数を使用して、クラスのメソッドを呼び出したり、他の関数を実行したりできます。クラスライブラリが巨大であるため、これは大変な作業です。コアファンデーション、一般的なフードネーション、ココア、クォーツなどから始めることができます。それはあなた次第です。おそらく、クラスのラッパーも作成する必要があります。
現在、箱から出して、あなたがやりたいことをする簡単な方法はありません。
しかし、私はそれが可能であるという概念実証として簡単なアプリを書くつもりです。ただし、これには時間がかかる場合があります。
アップデート
Embarcaderoによって翻訳されたCoreFoundationヘッダーをMacapi名前空間(つまり、Macapi.ObjectiveC.pas、Macapi.ObjcRuntime.pas、Macapi.CocoaTypes.pasなどのMacapiで始まるすべてのユニット)やSystemで使用することもできます。 .Mac.CFUtils。そこには、主要なCoreFoundationクラス(の一部)と、Delphiからそれらを使用する簡単な方法があります。ただし、これらが適切に文書化されているかどうかはわかりません。そのため、それらの使用方法を自分で確認する必要があります。コード内のコメントはあなたを助けることができるかもしれません。
これについてもう少し詳しくは、docwikiをご覧ください。コンソールアプリにもGUIを含めることができることに注意してください。
アップデート2
はい、それは間違いなく可能です。 http://rvelthuis.de/zips/sampleniblessapp.7zを参照してください。最も重要なMacapiユニットはMacapi.AppKitであることが判明したことに注意してください。
VCLなしでWindowsGUIアプリケーションを作成しますか?
WinAPIの代わりにMacAPIを直接使用するという、ほぼ同じ考え方です。
Delphi / Pascalの観点からそれを行う方法についての豊富なドキュメントがないため、おそらくもう少し難しい(控えめな表現)。