アーカイブ

UIComponent.mx_internal::dispatchEventHook

mx.core.UIComponent クラスには、dispatchEventHook という UIComponent 自身を含む UIComponent を継承するすべてのクラスのイベントを拾う mx_internal かつ静的な関数プロパティがあります。

デバッグや開発中にこのプロパティを使うことによって、イベントフローが確認できて便利なので、ちょっとしたクラスを作成しました。

DispatchEventHookSample ( 画面とソース )
http://labs.taiga.jp/flex3/DispatchEventHookSample/
http://labs.taiga.jp/flex3/DispatchEventHookSample/srcview/
サンプルは何も表示されません FlashTracer などで出力状況を確認してください。

実装方法も少しマニアックです。
ローカル設定ファイル (DispatchEventHookSample-config.xml) に条件つきコンパイル用の定数 ( 以下 CONFIG::DEBUG) と、Mixin クラス (DispatchEventHooker.as) を定義しています。CONFIG::DEBUG の value が true のときのみ、イベントフローを出力させています。 (value を false にしてコンパイルすると、CONFIG::DEBUG コードブロックの内容は SWF に含まれなくなります )

参考: AKABANA – 条件付きコンパイル