# Remove Child Help

**URL:** <https://forum.kirupa.com/t/remove-child-help/302041>\
**Category:** flash\
**Created:** [December 20, 2009, 9:38pm UTC](https://forum.kirupa.com/t/remove-child-help/302041 "2009-12-20T21:38:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![bcapecci](https://avatars.discourse-cdn.com/v4/letter/b/ac8455/32.png) [@bcapecci](https://forum.kirupa.com/u/bcapecci)\
**Post date:** [December 20, 2009, 9:38pm UTC](https://forum.kirupa.com/t/remove-child-help/302041/1 "2009-12-20T21:38:22Z")

</div>

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.  
at flash.display::DisplayObjectContainer/removeChild()  
at CharacterCreate/chooseClass()  
at CharacterCreate()  
at Document()

```auto

Document Class:
package {
    
    import flash.display.MovieClip;
    import flash.display.Stage;
    
    public class Document extends MovieClip {
        
        public function Document()
        {
            var cc:CharacterCreate = new CharacterCreate(stage);
            stage.addChild(cc);
        }

    }
}

```

```auto

package {
    
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.SharedObject;
    import flash.display.Stage;
    
    
    public class CharacterCreate extends MovieClip {

        private var shared:SharedObject = SharedObject.getLocal("stats");
        private var stageRef:Stage;

        public function CharacterCreate(stageRef:Stage) {
            this.stageRef = stageRef;
            
            if (shared.data.classes != undefined) {
                chooseClass();
            }
        }

        public function chooseClass() {
            shared.data.xp = 0;
            stageRef.removeChild(this);
            var engine:Engine = new Engine();
            stageRef.addChild(engine);
        }
    }
}

```
