Flex 3 ошибки # 2025 при использовании Removechild
-
28-09-2019 - |
Вопрос
Я получаю Flex ArgentError: ошибка # 2025: прилагаемый DisplayObject должен быть ребенком абонента.
Это то, что у меня есть:
а) Я устанавливаю переменную LastButtonClicked на последнюю кнопку, которая нажала в основном приложении.
private var lastButtonClicked:DisplayObject;
private function lastButtonClickedFunction(event:MouseEvent):void {
lastButtonClicked = event.currentTarget as DisplayObject;
}
б) У меня есть открытый титул, и есть вариант да / нет. У меня есть пользовательское событие Вернуть ответ на основное приложение.
c) В главном приложении я пытаюсь удалить LastButtonClicked на основе данных, отправленных пользовательским событием. Итак, моя проблема в этой функции. По какой-то причине это не позволит мне удалить кнопку. Я получаю ошибку 2025 вместо этого.
private function answerHandler( event:AnswerEvent ):void {
if(event.answerCorrect == true){
removeChild(lastButtonClicked);
}
}
Любые предложения о том, как отлаживать эту проблему? Пользовательское событие стреляет в порядке. Как я могу починить эту строку: Removechild (LastButtonClicked); ?
Редактировать: я попробовал hbox1.removechild (lastButtonClicked), и он работал. Правильная кнопка была удалена из основного приложения. Проблема в том, что не все кнопки находятся в hbox1. У меня есть другие Hboxes. Итак, мне нужно выяснить более общий способ, а не использовать HBOX1 в заявлении. Я устал эту. Спасибо.
Спасибо.
-Laxmidi.
Решение 2
Я решил это. Я сделал переменную и установил его к родителю LastButtonClicked.
Частный VAR MyParent: объект; myparent = lastbuttonclicked.parent;
Тогда в моем ответе Хандлер я писал:
myparent.removechild (LastButtonClicked);
Спасибо.
-Laxmidi.
Другие советы
Из того, что я понимаю, похоже, у вас есть кнопки в TitleWindow
и обработчик событий в приложении. Вы, вероятно, хотите позвонить removeChild
для экземпляра TitleWindow
(например: titleWindow.removeChild(lastButtonClicked)
а не от приложения.