ArgumentError: Erro #2025: O DisplayObject fornecido deve ser um filho do erro do chamador - como

StackOverflow https://stackoverflow.com/questions/2492036

Pergunta

Eu tenho esse trecho de código dentro de uma função que verifica se existe um objeto no palco e o remove:

public function closeContent(e:MouseEvent):void { 
    removeChild(txt);
    removeChild(ldr.content);
    removeChild(_closeButton);
    container_mc.visible = false;
    statusText.text="";
    if (contains(submitButton)) {
        removeChild(submitButton);
    }
    if (contains(saveinfoButton)) {
        removeChild(saveinfoButton);
    }
}

Eu tentei mudar stage com this e root Mas sempre receba este erro ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller

Foi útil?

Solução

O erro sinais que você está tentando remover um DisplayObject com removeChild Aparentemente, isso não é um filho do DisplayObjectContainer Este código é executado a partir de.

Uma maneira de resolver esse problema é verificar se o objeto que você está tentando remover é na verdade um filho do contêiner usando contains. Você está fazendo isso por alguns dos objetos que está removendo (submitButton e saveinfoButton), mas não para alguns outros.

Tente embrulhar o removeChild liga para txt, ldr.content e _closeButton Em declarações if que usam contains Para verificar se estes DisplayObjects estão no recipiente.

Outras dicas

Tente com:

e.currentTarget.parent.removeChild(txt);  
e.currentTarget.parent.removeChild(ldr.content)  
etc.

Experimente isso:

public function closeContent(e:MouseEvent):void { 
    removeChild(txt);
    removeChild(ldr.content);
    removeChild(_closeButton);
    container_mc.visible = false;
    statusText.text="";
    if (contains(submitButton)) {
        removeChild(submitButton);
        removeChild(saveinfoButton);
    }
}

Você pode adicionar os dois itens para remoção no condicional com &&:

    if (contains(submitButton && saveinfoButton)) {
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top