Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с removeChild() (http://www.flasher.ru/forum/showthread.php?t=133947)

igor_dv 17.12.2009 12:11

Проблема с removeChild()
 
Не могу удалить textfield , возникает ошибка: TypeError: Error #2007: Параметр child не должен быть равен нулю at flash.display::DisplayObjectContainer/removeChild()

Код AS3:

package  
{
        import flash.display.Sprite;
        import flash.text.TextField;
        import flash.text.TextFieldAutoSize;
        import flash.text.TextFormat;
 
        public class PageLayer extends Sprite{
 
private var pageContainer:Sprite;
private var pageTf:TextField;
 
public function closePage():void {
 
        pageContainer.removeChild(pageTf);
 
}
 
private function openPage():void {
 
                        var pageTf:TextField  = new TextField();
                        pageTf.text = "Bla bla bla";
                        pageContainer.addChild(pageTf);
 
}
 
}
 
}

Хотя через pageContainer.getChildAt(0) текстовое поле видно.

Заранее благодарен за помощь.

RetKiller 17.12.2009 12:24

Конечно,у вас же контейнер не иницииирован. ТекстФилд, объявленый членом класса, "перекрывается" объявлением локальной переменной в фунцкции OpenPage() с тем же именем. Уберите объявление переменной pageTf в это функции и все заработает :)

igor_dv 17.12.2009 12:39

Огромное спасибо!


Часовой пояс GMT +4, время: 06:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.