为什么添加Flex DateChooser组件会抛出索引超出范围错误?

时间:2012-06-06 10:01:26

标签: flex flex4

我正面临着我目前正在开发的flex应用程序的问题。 当我使用'createPopUp'方法打开弹出窗口时,我的索引超出了界限错误消息:

  

RangeError:提供的索引超出范围。在   mx.core :: FTETextField中/ getLineMetrics()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \ MX \核心\ FTETextField.as:2169]     在mx.core :: UIFTETextField / get   baselinePosition()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \ MX \核心\ UIFTETextField.as:784]     在mx.controls :: DateChooser / get   baselinePosition()[E:\ dev的\ 4.Y \框架\项目\ MX \ SRC \ MX \控制\ DateChooser.as:994]     在spark.components :: Group / get   baselinePosition()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\组件\ Group.as:282]     在   spark.layouts :: ConstraintLayout / parseElementConstraints()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\布局\ ConstraintLayout.as:1818]     在   spark.layouts :: ConstraintLayout / parseConstraints()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\布局\ ConstraintLayout.as:1632]     在   spark.layouts :: ConstraintLayout /测量()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\布局\ ConstraintLayout.as:414]     在   spark.components.supportClasses ::值为TextJustify。GroupBase /测量()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\部件\ supportClasses \ GroupBase.as:1148]     在   mx.core :: UIComponent / HTTP://www.adobe.com/2006/flex/mx/internal :: measureSizes()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \芯\ UIComponent.as:8506]     在   mx.core :: UIComponent /调用validateSize()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \核心\ UIComponent.as:8430]     在   spark.components ::组/调用validateSize()[E:\ dev的\ 4.Y \框架\项目\火花\ SRC \火花\部件\ Group.as:1012]     在   mx.managers ::的LayoutManager / validateClient()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \管理者\ LayoutManager.as:987]     在   mx.managers :: PopUpManagerImpl / addPopUp()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \管理者\ PopUpManagerImpl.as:382]     在   mx.managers :: PopUpManagerImpl / createPopUp()[E:\ dev的\ 4.Y \框架\项目\框架\ SRC \ MX \管理者\ PopUpManagerImpl.as:232]     在   mx.managers :: PopUpManager $ / createPopUp()[E:\ dev \ 4.y \ frameworks \ projects \ framework \ src \ mx \ managers \ PopUpManager.as:139] at   视图:: AddProjects / loadAddProjectPopUp()[C:\用户\劳拉\网络\ spidermak \ spidermak \ SRC \视图\ AddProjects.mxml:184]     在   视图:: AddProjects / ___ AddProjects_Button1_click()[C:\用户\劳拉\网络\ spidermak \ spidermak \ SRC \视图\ AddProjects.mxml:838]

似乎这个错误是由我的弹出窗口中的“dateChooser”组件引起的:

<mx:DateChooser id="endDate"/>

当我评论此行时,不再抛出错误并且弹出窗口正确加载。

这真的很奇怪,因为我直到今天早上都没有这个问题。我在此期间所做的只是改变了一些与布局相关的东西,但我不知道这个问题会有什么用。
我不明白......

有没有人知道如何解决这个问题?我需要我的DateChooser!

谢谢!

劳拉

  • 编辑 -

似乎问题不是由DateChooser本身引起的,而是由围绕它的FormItem引起的。这是我的代码的样子:

<Form width="100%">
[...]
    <s:HGroup width="100%">
        <s:FormItem label="Date de début">
            <mx:DateChooser id="startDate" 
                    firstDayOfWeek="1"/>
        </s:FormItem>

        <s:FormItem label="Date de fin">
            <mx:DateChooser id="endDate"
                    firstDayOfWeek="1"/>
        </s:FormItem>
    </s:HGroup>
</Form>

如果我删除了两个FormItems,它就可以了。谁能解释我为什么?谢谢!

2 个答案:

答案 0 :(得分:1)

尝试将组件包装在<s:Group>元素中,即

<s:FormItem label="Start date">
    <s:Group>
        <mx:DateChooser id="startDate"
            firstDayOfWeek="1" />
    </s:Group>
</s:FormItem>

显然,这与Spark组件的组成有关。 lolFlex。

(我有完全相同的问题,也无法在互联网上找到任何解决方案!)

答案 1 :(得分:0)

我认为你应该升级到最新的TLF。这让我想起了TLF 1.x中的一个错误。试试2.x。