Module で DragManager を使用するとエラーが起こるバグ対策
海賊王をめざす男 マツです。こんにちは。
Module 内で DragManager を使用したときのこと。以下のエラーがでました。
VerifyError: Error #1014: クラス IDragManager が見つかりません。
at flash.display::MovieClip/nextFrame()
at mx.core::FlexModuleFactory/deferredNextFrame()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\FlexModuleFactory.as:631]
at mx.core::FlexModuleFactory/update()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\FlexModuleFactory.as:401]
at mx.core::FlexModuleFactory/moduleCompleteHandler()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\FlexModuleFactory.as:718]
Flex4 になってもまだ Fix されていません。
この問題を回避するには、メインアプリケーションのスクリプトブロックに次の 2 行を追加します。
import mx.managers.IDragManager; private var iDragManager:IDragManager;
他にも Flex4 になって、モジュールの扱いがちょっと変わってます。
例えばモジュールで使用しているコンポーネントの CSS をメインアプリケーションに宣言できたのが、警告がでるようになりました。
例)Alert コンポーネントをモジュールで使用していたとき
タイプがアプリケーションで使用されていないので、CSS タイプセレクター 'mx.controls.Alert' は処理されませんでした。
モジュール内で使用しているコンポーネント の CSS の宣言はモジュールでしないと警告がでるようになりました。
エラーではないので、ビルドはできるのですがちょっと...。
複数のモジュールで構成されているプロジェクトの場合不便かも。
参考
http://www.adobe.com/support/documentation/jp/flex/2/releasenotes_flex201_sdk.html