Ошибка Flex 3 # 2025 при использовании removeChild - PullRequest
1 голос
/ 06 октября 2010

Я получаю Flex ArgumentError: Ошибка # 2025: предоставленный объект DisplayObject должен быть дочерним по отношению к вызывающей стороне.

Вот что у меня есть:

a) Я установил переменную lastButtonClicked на последнюю кнопку, которая была нажата в главном приложении.

private var lastButtonClicked:DisplayObject;

    private function lastButtonClickedFunction(event:MouseEvent):void {
        lastButtonClicked = event.currentTarget as DisplayObject;

    }

b) У меня открыто окно TitleWindow, и есть опция да / нет. У меня есть пользовательское событие, возвращающее ответ в основное приложение.

в) В основном приложении я пытаюсь удалить lastButtonClicked на основе данных, отправленных пользовательским событием. Итак, моя проблема в этой функции. По какой-то причине он не позволит мне удалить кнопку. Вместо этого я получаю ошибку 2025.

private function answerHandler( event:AnswerEvent ):void {
        if(event.answerCorrect == true){
            removeChild(lastButtonClicked);
        }
    }

Есть предложения по устранению этой проблемы? Пользовательское событие запускается хорошо. Как мне исправить эту строку: removeChild (lastButtonClicked);

Редактировать: я попытался hbox1.removeChild (lastButtonClicked), и это сработало. Соответствующая кнопка была удалена из основного приложения. Проблема в том, что не все кнопки находятся в hBox1. У меня есть другие HBox. Итак, мне нужно найти более общий способ вместо использования hBox1 в выражении. Я устал this.removeChild (lastButtonClicked), но это не сработало. Спасибо.

Спасибо.

-Laxmidi

Ответы [ 2 ]

0 голосов
/ 06 октября 2010

Я решил это.Я сделал переменную и установил ее в родительский элемент lastButtonClicked.

private var myParent: Object;myParent = lastButtonClicked.parent;

Затем в своем ответеHandler я написал:

myParent.removeChild (lastButtonClicked);

Спасибо.

-Laxmidi

0 голосов
/ 06 октября 2010

Насколько я понимаю, похоже, что у вас есть кнопки в TitleWindow и обработчик событий в приложении. Вы, вероятно, хотите вызвать removeChild для экземпляра TitleWindow (например: titleWindow.removeChild(lastButtonClicked)), а не из приложения.

...