Air/Flex: 2009年2月アーカイブ

 ちょっと必要になったので自分のためにメモ。

 まずはプロジェクトプロパティのFlexコンパイラでの設定で、追加コンパイラ引数に以下のオプションを追加して、カスタム設定ファイル用テンプレートを出力する。

-dump-config myconfig.xml

 出力されたファイルを編集した上で、それをコンパイル時に使用するために、上記のオプションを削除して以下のオプションを追加する。

-load-config+=myconfig.xml

 良くわからないけど、とりあえず行けてるっぽいです。

 Flex3でフォームアプリケーションを開発していた時に、ある画面でTABキーを押すと、アプリケーション全体がフリーズしてしまうという、不可解な現象に遭遇しました。

 フリーズ中にデバッガで一時停止してみたところ、FocusManagerが、次にフォーカスを設定するコンポーネントを探すために、ひたすらループしているのが原因のようでした。
 そのアプリケーションは、ひとつのMXML上にViewStackで結構な数の画面を配置してあり、コンポーネントもかなりの数に達していて、それらのコンポーネントの可視状態や有効状態などを、ひとつひとつチェックしているらしいのです。

 とそこまではわかったのですが、なぜそんな挙動をしているのかがさっぱりわからず、しかも他の画面では同じ現象も発生しないので、ものすごーく悩んでいたのですが、ほんのちょっとした修正で、無事に解決に至りました。

 その修正内容とは「tabIndexを指定する」ということです。

 なんでこれで解決したのかはわかりませんが、Flex SDK 3.2には、FocusManager絡みのバグがあるようなので、もしかするとそれが原因なのかもしれません。
 とにかくこれからは、tabIndexは必ず指定しようと、固く心に誓ったのでした。

1

このアーカイブについて

このページには、2009年2月以降に書かれたブログ記事のうちAir/Flexカテゴリに属しているものが含まれています。

前のアーカイブはAir/Flex: 2008年7月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Air/Flex: 2009年2月: 月別アーカイブ

Powered by Movable Type 6.0.3
ぎゅう♪ぎゅう♪ぎゅう♪ぎゅう♪ ぎゅう♪ぎゅう♪ ぎゅう♪ぎゅう♪