flex: ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子级

关于这个问题,大体来说时这样的:
比如说我的man.mxml,代码如下:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"

 width="100%" height="180" xmlns:view="com.delochi.view.*">

<viewownloadProgressBar/>

</mx:Application>

 而DownloadProgressBar.mxml的代码如下:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

</mx:Application>

 运行,就会出错,错误大概如下:

ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子级。
at flash.display::DisplayObjectContainer/getChildIndex()
at mx.managers::SystemManager/getChildIndex()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\SystemManager.as:1286]
atmx.managers::SystemManager/mouseDownHandler()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\SystemManager.as:2620]


原因:main.mxml中的<mx:Application>与DownloadProgressBar.mxml中 的<mx:Application>是属同一个级别的,改为<mx:Application>的子级就可以了。
譬如,改为如下的:

 

<?xml version="1.0" encoding="utf-8"?>

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="386" height="274" horizontalAlign="center" verticalAlign="middle">

</mx:VBox>
 

你可能感兴趣的:(xml,Flex,Flash,Adobe)