条件付きコンパイルの使用 (livedocs)
特定のビルドでコードブロックを包含または除外するには、条件付きコンパイルを使用します。mxmlc コンパイルでは、コンパイル時に定数の値をアプリケーションに渡すことができます。通常は、デバッグ用コードや実装用コードなどのコードブロックの包含または除外に使用されるブール値を渡します。次の例では、インライン定数のブール値を使用して、コードブロックの条件付けを行います。
実用的な使い方
例えば、開発版とリリース版で、読み込むべき XML のパスが変わる場合、条件付きコンパイルで解決できる。(外部 XML で管理すればいいけれど、それは置いておいて)。
簡単な設定方法 (FlashDevelop)
まず、flex-config.xml などとして、以下の XML を用意する。ファイルは as3proj と同じディレクトリに置いておく。
<flex-config> <compiler> <define> <name>CONFIG::release</name> <value>true</value> </define> <define> <name>CONFIG::debugging</name> <value>false</value> </define> </compiler> </flex-config>
次に、ActionScript では、変数を以下のように宣言する。書き方が特殊。
CONFIG::release private var url:String = "http://example.com/release.xml"; CONFIG::debugging private var url:String = "http://example.com/debugging.xml";
先ほどの flex-config.xml を mxmlc に渡さないといけないので、FlashDevelop の Project -> Properties -> Compiler Options -> Additional Compiler Options に
-load-config+=flex-config.xml
を追記する。