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

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

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

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

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

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();
			}

终于调用成功了!




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值