Flex错误:2025迁移到Flex 3到4

时间:2011-06-24 14:13:01

标签: flex flex3 flex4

目前,我正在进行从Flex 3到4的代码迁移,我在弹出窗口的初始化函数中设置了currentState。

代码是这样的,

 currentState = "xyz";

 // Now I try to access child which I am adding in "xyz" state definition.
 var childIndex:int = form.getChildIndex(childId); // this throws error 2025

州定义

<mx:State name="xyz">
    <!-- I remove some children and add some children before this -->   
   <mx:AddChild relativeTo="{form}" position="lastChild"
                creationPolicy="all">
    <mx:FormItem id="childId"
          label="Frequency">
        <mx:ComboBox id="cmbId"
                             dataProvider="{dataP}"
                 selectedIndex="0"
                             change="function()"/>                                     </mx:FormItem>
</mx:AddChild>

这段代码工作正常,直到我开始使用flex 4.5sdk编译代码。从那以后,它抛出了我的错误#2025。

任何指针?

2 个答案:

答案 0 :(得分:0)

在调用.parent之前,您需要确定childId的{​​{1}}是什么。 #2025错误应该告诉你,当你打电话给{1}}时,childId的父母不是form.childIndex(childId)

尝试在getChildIndex调用之前添加form

form.getChildIndex(childId)

或者,再次更新您的答案并包含trace("parent of childId " + childId.parent)的MXML,其中显示childId是直接后代?

答案 1 :(得分:0)

当我尝试在creationComplete方法中为childId获取chileIndex时,它运行良好。似乎在初始化阶段,我们正在尝试访问状态的子索引,因此我们得到错误,因为该子状态可能没有在该状态中布局。