Flex 3 Erro #2025 Ao usar o RemoveChild
-
28-09-2019 - |
Pergunta
Estou recebendo um FLEX TRGRESGERROR: ERRO #2025: O DisplayObject fornecido deve ser um filho do chamador.
Isso é o que eu tenho:
a) Definei a variável LastButtonClicked para o último botão que foi clicado no aplicativo principal.
private var lastButtonClicked:DisplayObject;
private function lastButtonClickedFunction(event:MouseEvent):void {
lastButtonClicked = event.currentTarget as DisplayObject;
}
b) Eu tenho um TitleWindow Open e há uma opção sim/não. Eu tenho um evento personalizado, retorne a resposta ao aplicativo principal.
c) No aplicativo principal, estou tentando remover o LastButtonClicked com base nos dados enviados pelo evento personalizado. Então, meu problema está nesta função. Por alguma razão, não me permite remover o botão. Recebo o erro 2025.
private function answerHandler( event:AnswerEvent ):void {
if(event.answerCorrect == true){
removeChild(lastButtonClicked);
}
}
Alguma sugestão sobre como depurar esse problema? O evento personalizado está disparando bem. Como faço para consertar esta linha: removechild (lastbuttonClicked); ?
EDIT: Eu tentei hbox1.removeChild (LastButtonClicked) e funcionou. O botão adequado foi removido do aplicativo principal. O problema é que nem todos os botões estão no Hbox1. Eu tenho outros Hboxes. Então, eu preciso descobrir uma maneira mais genérica em vez de usar o Hbox1 na instrução. Cansei isso.RemoveChild (LastButtonClicked), mas não funcionou. Obrigada.
Obrigada.
-Laxmidi
Solução 2
Eu resolvi isso. Fiz uma variável e a defina para os pais de LastButtonClicked.
private var myParent: objeto; myParent = lastButtonClicked.parent;
Então, no meu manipulador de resposta, escrevi:
myParent.RemoveChild (LastButtonClicked);
Obrigada.
-Laxmidi
Outras dicas
Pelo que entendi, parece que você tem os botões em um TitleWindow
e o manipulador de eventos no aplicativo. Você provavelmente quer ligar removeChild
Para a instância de TitleWindow
(por exemplo: titleWindow.removeChild(lastButtonClicked)
) em vez de do aplicativo.