[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

コメントする

このブログ記事について

このページは、くわが2009年2月24日 20:04に書いたブログ記事です。

ひとつ前のブログ記事は「丑年牛丼祭りで牛丼並が299円」です。

次のブログ記事は「ぎゅう☆ぎゅう倶楽部モバイル版」です。

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

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