[Flex3]TABキーを押すとフリーズ?
Flex3でフォームアプリケーションを開発していた時に、ある画面でTABキーを押すと、アプリケーション全体がフリーズしてしまうという、不可解な現象に遭遇しました。
フリーズ中にデバッガで一時停止してみたところ、FocusManagerが、次にフォーカスを設定するコンポーネントを探すために、ひたすらループしているのが原因のようでした。
そのアプリケーションは、ひとつのMXML上にViewStackで結構な数の画面を配置してあり、コンポーネントもかなりの数に達していて、それらのコンポーネントの可視状態や有効状態などを、ひとつひとつチェックしているらしいのです。
とそこまではわかったのですが、なぜそんな挙動をしているのかがさっぱりわからず、しかも他の画面では同じ現象も発生しないので、ものすごーく悩んでいたのですが、ほんのちょっとした修正で、無事に解決に至りました。
その修正内容とは「tabIndexを指定する」ということです。
なんでこれで解決したのかはわかりませんが、Flex SDK 3.2には、FocusManager絡みのバグがあるようなので、もしかするとそれが原因なのかもしれません。
とにかくこれからは、tabIndexは必ず指定しようと、固く心に誓ったのでした。
トラックバック(0)
このブログ記事を参照しているブログ一覧: [Flex3]TABキーを押すとフリーズ?
このブログ記事に対するトラックバックURL: http://ushi.donburi.net/mt/mt-tb.cgi/47



コメントする