Flex3で再コンパイル完了

ちょっと難産しましたが、やっと通販商品ナビ・FlashバージョンFlex3で再コンパイル作業を終えました。アドビの説明によると90%のサイトは再コンパイルだけで動くとの説明でありましたが、どうやら残り10%になったようです。

なおFlex3には新しいコンパイラ引数を使用して動作を Flex 2.0.1 に戻してコンパイルすることもできますが、今回はそれは使わずにFlex3として再コンパイルの作業を行いました。詳しい説明はアドビのBackwards Compatibility Issues - Flex 3 Getting Started - Adobe Learning Resourcesにあります。

Flex備忘録:Flex3で再コンパイルで難航していた、removeChild()で落ちる問題は、タイマーを使ってitemRenderer内の処理が完全に終わってから、removeChild()を呼ぶようにタイミングを変更することで凌ぎました。

その他にも同じitemRenderer内の処理でPopUpButtonのメニューが消えない問題やメニューボタンの不連動の不具合等、itemRendererのタイミング絡みの問題が勃発しました。

Flex2からFlex3への仕様変更で大きな影響を受けたのはDataGridクラスでのitemClickイベント処理です。Flex3になってDataGridクラスはかなり拡張されたようで、仕様変更の影響をまともに受けたようです。詳しくはアドビのBackwards Compatibility Issues - Flex 3 Getting Started - Adobe Learning Resourcesに『rowCount and lockedRowCount do not include the header. Also, the itemClick event's rowIndex property returns 0 for the first row of data. 』とあります。

以上Flex3 SDKのインストールから約1週間を要しましたが、これで通販商品ナビ・FlashバージョンFlex3化が完了しました。外観からはほとんど違いを感ずることはできませんが、サポートをクリックすると変更履歴に『2008.7.27 開発環境をFlex3に変更しました。』が表示される位です。

関連情報
Flex備忘録:Flex3で再コンパイル
Flex備忘録:Flex3のインストール
Flex備忘録:そろそろFlex3を導入するかな