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

hellen6xu 2010-10-13 02:06:11
ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子级。
at flash.display::DisplayObjectContainer/removeChild()
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$removeChild()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5096]
at mx.core::Container/removeChild()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\Container.as:2274]
at VirtualArchive/onresult()[E:\Flex Workplace\VirtualArchive\src\VirtualArchive.mxml:83]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:198]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:193]
at mx.rpc::Responder/result()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:43]
at mx.rpc::AsyncRequest/acknowledge()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:74]
at DirectHTTPMessageResponder/completeHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:403]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
...全文
2061 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
水中影子 2010-10-14
4楼解决了
回复
niwenbin416 2010-10-14
button.parent
回复
hellen6xu 2010-10-14
那什么方法能得到button的父级
回复
DAVID_DEEYE 2010-10-13
顶4楼还有5楼leemiki,
回复
leemiki 2010-10-13
[Quote=引用 3 楼 hellen6xu 的回复:]
有人告诉我 用if(c.contains(ca)) 这句话就可以解决,但是我没弄明白,它的写法
[/Quote]

对的!contains()就是用来描述组件之间的包含关系

c.removeChild(ca);//c移除它的子组件ca

如果ca不是c子组件,怎么会运行正常呢!!!
回复
niwenbin416 2010-10-13
if(bj=="dash"){
ca.addChild(btn);
}
else if(bj=="gh"){
cb.addChild(btn);
}
if( c.contains( ca ) ){
c.removeChild(ca);
}
c.addChild(cb);
}else if(bj=="hh"){
cc.addChild(btn);
}
if( c.contains( cb ) ){
c.removeChild(cb);
}
回复
hellen6xu 2010-10-13
有人告诉我 用if(c.contains(ca)) 这句话就可以解决,但是我没弄明白,它的写法
回复
hellen6xu 2010-10-13
if(bj=="dash")
{ca.addChild(btn);}
else if(bj=="gh"){
cb.addChild(btn);

c.removeChild(ca);
c.addChild(cb);
}else if(bj=="hh"){
cc.addChild(btn);
if( c.contains( ca ) )
c.removeChild(cb);
回复
leemiki 2010-10-13
看这错误应该是代码的removeChild()出了问题

把相关代码贴下吧~~~
回复
相关推荐
发帖
Flex
创建于2007-12-13

4328

社区成员

多媒体/设计 Flex
申请成为版主
帖子事件
创建了帖子
2010-10-13 02:06
社区公告
暂无公告