0

FlexモジュールでRobotLegsを使用するアプリケーションに問題があります。最終的にモジュールを正常にロードできましたが、モジュールビューのメディエーターにこのコード行を追加しようとすると、次のようになります。

view.addElementAt(applicationContainer,0);

このエラーが発生します:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.core::UIComponent/getStyle()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11128]
at mx.core::UIComponent/getConstraintValue()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:9083]
at mx.core::UIComponent/get horizontalCenter()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:9252]
at spark.layouts::BasicLayout/measure()[E:\dev\4.y\frameworks\projects\spark\src\spark\layouts\BasicLayout.as:253]
at spark.components.supportClasses::GroupBase/measure()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\supportClasses\GroupBase.as:1148]
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::measureSizes()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8506]
at mx.core::UIComponent/validateSize()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8430]
at spark.components::Group/validateSize()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\Group.as:1012]
at mx.managers::LayoutManager/validateSize()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:665]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:816]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]

なぜこうなった?私が追加しようとしているコンポーネントはグループコンポーネントです、何かアイデアはありますか?

詳細については、モジュールがすでに純粋なrobotlegsを実装しているアプリケーションにロードされているため、モジュラーrobotlegsを使用しません。したがって、モジュラーrobotlegsを実装する労力を減らしたいので、大きなプロジェクトです。モジュールは正常にロードされますが、起動すると問題が発生します。別のコンポーネントを表示するためにモジュールの状態ビューを変更するイベント。ModuleLoaderでApplicationDomain.currentDomainを使用します。

4

1 に答える 1

0

少し調べてみたところ、Adobe Forumsでこの投稿に出会いました。誰かが同じ問題を抱えているようで、RobotLegs とはまったく関係がないようです。

あなたの実際のアプリケーション コードをまったく知らないので、これについて完全に確信することはできませんが、あなたのアプリケーションが初期化値をモジュールに正しく渡していないというのは良い推測だと思います。

上記の投稿の最後から 2 番目の返信のアドバイスに従います。

モジュールの名前 [モジュール名] をメイン アプリケーションで使用する代わりに、[モジュール] が実装するインターフェイスを使用します。

モジュールとアプリケーション間の共通インターフェースの実装に関するこの記事にアクセスしてください。これを特定のモジュールに採用して、問題がまだ存在するかどうかを確認してください。

于 2012-02-08T17:38:36.143 に答える