Полагаю, вы компилируете свой проект в строгом режиме и используете items XMLList напрямую как dataProvider
для какого-либо компонента (по крайней мере, я нашел единственный способ воспроизвестипроблема), как это:
<s:List>
<s:dataProvider>
<s:XMLListCollection>
<fx:XMLList id="items">
<menuitem label="file">
<menuitem label="file.new" data="New"/>
<menuitem label="file.saveAs" data="SaveAs"/>
<menuitem label="file.open" data="Open"/>
<menuitem label="file.close" data="Close"/>
</menuitem>
<menuitem label="business">
<menuitem label="business.add" data="AddBusiness"/>
<menuitem label="business.delete" enabled="{someproperty.selected}" data="DeleteBusiness"/>
</menuitem>
<menuitem label="help">
<menuitem label="help.about" data="About"/>
</menuitem>
</fx:XMLList>
</s:XMLListCollection>
</s:dataProvider>
</s:List>
Это воспроизводит ту же ошибку (# 1120), которую вы упомянули.Чтобы это исправить, вы должны объявить XMLList перед его контейнером (в примере это List
) в блоке <fx:Declarations>
.Таким образом, вы гарантируете, что ссылка items будет существовать до создания контейнера, что и проверяется строгим режимом во время компиляции.
<fx:Declarations>
<fx:XMLList id="items">
<menuitem label="file">
<menuitem label="file.new" data="New"/>
<menuitem label="file.saveAs" data="SaveAs"/>
<menuitem label="file.open" data="Open"/>
<menuitem label="file.close" data="Close"/>
</menuitem>
<menuitem label="business">
<menuitem label="business.add" data="AddBusiness"/>
<menuitem label="business.delete" enabled="{someproperty.selected}" data="DeleteBusiness"/>
</menuitem>
<menuitem label="help">
<menuitem label="help.about" data="About"/>
</menuitem>
</fx:XMLList>
</fx:Declarations>
<s:List>
<s:dataProvider>
<s:XMLListCollection source="{ items }"/>
</s:dataProvider>
</s:List>
Обновление: Этотакже сгенерирует ошибку # 1120, если у вас не включена опция строгого режима компилятора.Просто объявите XMLList в блоке <fx:Declarations>
, и он должен работать нормально.