この記事は、David Intersimoneのブログの抄訳です
先日のDelphiCon 2021のセッション「Multi-Platform Explorations using Delphi, FMX, Feeds, REST and More」での講演の中で、uses文、変数定義、およびコードの一部にIFDEFを使用するサンプルコードを紹介いたしました。
このブログでは、Windows(Win32/Win64)、macOS、iOS、Androidの各プラットフォーム向けにコンパイルする際のdefineの使用例を紹介いたします。
また、各プラットフォームで実行したサンプルプログラムから出力したスクリーンショットも掲載しています。こちらのセッションリンクから講演のサンプルプロジェクトをすべてダウンロードできます。
下記のシンプルな DelphiのFireMonkey アプリケーションには、TButton と TMemo が配置されています。ButtonのOnClickイベントハンドラでは、コードがプラットフォームに関する情報と、各プラットフォームに定義されたコンパイラを出力しています。
[crayon-672a3afa89fe6026808180/]下図は、各プラットフォームのスクリーンショットです。
関連した情報として以下のdocwikiもご参考ください。
https://docwiki.embarcadero.com/RADStudio/Alexandria/ja/条件付きコンパイル(Delphi)