flex Error #1010: A term is undefined and has no properties. 错误原因

最近在做flex程序时,遇到了以下错误
Error #1010: A term is undefined and has no properties.

 

我的代码(以下代码进行了简化)

<mx:WindowedApplication initialize="init();">
    public function init():void{

        //mb_mainmenu是我定义的一个菜单工具栏,有四个一级菜单,我希望在初始化函数中,把第二个一级菜单设置为false

        mb_mainmenu.menuBarItems[1].enabled = false;

    }

</mx:WindowedApplication>

 

编译没有问题,但是运行时提示错误:

Error #1010: A term is undefined and has no properties.

 

错误的提示已经很明白,就是没有或者没有定义的属性,但是为什么编译时不提示哪?

 

经过分析,找到产生错误的原因,是在init函数中调用了mb_mainmenu.menuBarItems[1].enabled属性的设置。经过自己的分析我认为是在init时,mb_mainmenu还没有初始化完成,所以调用mb_mainmenu.menuBarItems[1].enabled时,才会提示以上的错误。我增加一个按钮,在按钮的click中调用mb_mainmenu.menuBarItems[1].enabled此属性的设置就没有这个错误。说明我的假设是正确的。

 

再debug模式下逐步调试的结果也验证了我的假设

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值