Flex robotlegs模块抛出空指针异常(错误#1009)

时间:2012-02-08 15:18:48

标签: flash actionscript-3 flex flex4 robotlegs

我在Flex模块中使用RobotLegs的应用程序出了问题。我终于成功加载了我的模块,但当我尝试在模块视图的Mediator中添加这行代码时:

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]

为什么会这样?我想添加的组件是一个Group组件,有什么想法吗?

更多信息我不使用模块化机器人腿,因为模块是一个已经实现纯机器人腿的应用程序中的loadad,所以我想减少实现模块化机器人腿的能力,这是一个大项目,我的模块成功加载但问题发生时我触发一个事件,改变模块的状态视图以显示另一个组件,我在ModuleLoader中使用ApplicationDomain.currentDomain。

1 个答案:

答案 0 :(得分:0)

我搜索了一下,在Adobe论坛上遇到了this post。有人似乎有同样的问题,看起来它根本不像RobotLegs。

不知道您的任何实际应用程序代码,我无法完全确定这一点,但我相信您的应用程序根本不会正确地将初始化值传递给模块。

按照上述帖子的倒数第二个回复中的建议:

  

而不是使用模块的名称,[模块名称],在主   应用程序,使用[模块]实现的接口。

关于在模块和应用程序之间实现通用接口,你应该this article。尝试将此问题采用到您的特定模块,看看您的问题是否仍然存在。