FlashPlayer11.2向けにビルドする時はMouseEvent.CONTEXT_MENUを使用して、そうでない時は使用しないということをやりたい場合があります。C言語の場合はifdefを使いますが、Flexの場合は条件付きコンパイルを使います。

コンパイルオプションに、defineを書きます。

mxmlc IllustBook.as -output IllustBook.swf -swf-version 15 -target-player 11.2 -define=CONFIG::context_menu_event_enable,true
mxmlc IllustBook.as -output IllustBook10.swf -swf-version 10 -target-player 10 -define=CONFIG::context_menu_event_enable,false


書いたdefineをActionScriptから参照します。

if(CONFIG::context_menu_event_enable){
m_child.addEventListener(MouseEvent.CONTEXT_MENU, onContextMenuHandler );
}


FlashPlayer10向けの環境ではMouseEvent.CONTEXT_MENUは定義されていませんが、CONFIG::context_menu_event_enableが定数最適化で消えるので、コンパイルエラーになりません。