关于这个问题,大体来说时这样的:
比如说我的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>