Flex4 主程序调用模块方法报TypeError: Error #1009:无法访问空对象引用的属性或方法

flex做导航菜单,页面用模块,由于在主应用需要调用某个模块下的方法:

(moduleLoader.child as 模块名).方法();

 当在这个模块下没有组件的时候,没问题,可以调用成功,并且加这个flex3的 这个组件也没问题

但是试了下随便加几个别的组件就报错:

TypeError: Error #1009: 无法访问空对象引用的属性或方法。
	at mx.core::UIComponent/getStyle()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11127]
	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:792]
	at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]
后来就不去调用这个方法是可以,但是我在主程序中随便写的一个方法
private function test():void{

    (moduleLoader.child as 模块名).方法();

}

这个方法根本就没调用,也报同样的错,后来在谷歌上一直翻一直翻,翻到点信息

就是说在module编译的时候,会自己初始化一些额外的内容,如皮肤,布局等,但是在主程序中引用这个module的时候,并没有去初始化这些额外的内容

所以就会报错

解决办法就是自己动手初始化一下就好了,在ModuleLoader控件的ready事件中加上:

protected function mainML_readyHandler(event:ModuleEvent):void
			{
				event.target.child.styleManager.initProtoChainRoots();
			}

终于调用成功了!




你可能感兴趣的:(问题汇总(Questions))