2012-01-07 16 views
-1

自分のアプリケーションを実行するときに、私はこの奇妙なエラーが発生します。NULLポインタ例外

TypeError: Error #1009: Cannot access a property or method of a null object reference. 
at mx.core::UIComponent/getStyle()[E:\dev\hero_private\frameworks\projects\framework\src\mx\core\UIComponent.as:11104] 
at mx.core::UIComponent/getConstraintValue()[E:\dev\hero_private\frameworks\projects\framework\src\mx\core\UIComponent.as:9073] 
at mx.core::UIComponent/get horizontalCenter()[E:\dev\hero_private\frameworks\projects\framework\src\mx\core\UIComponent.as:9242] 
at spark.layouts::BasicLayout/measure()[E:\dev\hero_private\frameworks\projects\spark\src\spark\layouts\BasicLayout.as:253] 
at spark.components.supportClasses::GroupBase/measure()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\supportClasses\GroupBase.as:1148] 
at mx.core::UIComponent/measureSizes()[E:\dev\hero_private\frameworks\projects\framework\src\mx\core\UIComponent.as:8496] 
at mx.core::UIComponent/validateSize()[E:\dev\hero_private\frameworks\projects\framework\src\mx\core\UIComponent.as:8420] 
at spark.components::Group/validateSize()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\Group.as:1012] 
at mx.managers::LayoutManager/validateSize()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\LayoutManager.as:665] 
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\LayoutManager.as:816] 
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180] 
at flash.utils::Timer/_timerDispatch() 
at flash.utils::Timer/tick() 

それは(スタイルか何かで混乱しません)私のカスタムコンポーネント内で行われ、のみもし私がアプリケーションのこの部分をモジュールとしてロードします。 _nonInheritingStylesプロパティはnullに設定されていますが、コンポーネントの初期化が間違っているようです。どんな推測?ありがとう

答えて

0

私は同じ問題を抱えていました.4.6だけでした。 Flex 4.5は正常に動作しました。私は、ModuleInfoがロードを処理する方法が変更されたためだと思います。 Preloaderは一連のグラフィックス呼び出しを解決しようとしますが、親にはグラフィックスコンポーネントが設定されていないため、呼び出しが中断します。

解決策:トップレベルのmxmlにコンポーネントを追加すると(たとえ、あなたがトップレベルのmxmlにコンポーネントを追加した場合でも)、getStyle()をオーバーライドしてtry-catchで保護しても、 Applicationサブクラス)、問題は解決しません。私は

<の使用:のBorderContainer幅= "100%" 高さ= "100%" X = "0"、Y = "0"/>

をその最も軽い量成分を知ることが良いでしょうここで働くでしょう。

私は、Preloaderが最初のモジュールがロードされる前に、少なくともスプラッシュスクリーンが必要であると推測しています。それ以外の場合は、Flexのバグです。