Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема при создании Button (http://www.flasher.ru/forum/showthread.php?t=116284)

alekson 25.09.2008 12:58

Проблема при создании Button
 
Код:

        private function setupButtons():void {
            b1 = new Button();

            b1.width = 160;

            b1.move(10,10);

            b1.label = "Default Button";

         
            b1.addEventListener(MouseEvent.CLICK, buttonClick);
                       
                        trace(b1);

            parentObject.addChild(b1);
        }

trace
Код:

[object Button]
TypeError: Error #2007: Parameter child must be non-null.
        at flash.display::DisplayObjectContainer/addChildAt()
        at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
        at fl.controls::LabelButton/fl.controls:LabelButton::draw()
        at fl.controls::Button/fl.controls:Button::draw()
        at fl.core::UIComponent/::callLaterDispatcher()

почему null то?

BlooDHounD 25.09.2008 13:42

посмотрите в какой функции вам пишется ошибка, а какой функции вы привили код.

kackbip 25.09.2008 13:49

Вы забыли компонентик в библиотечку перетащить :)

Цитата:

Сообщение от BlooDHounD (Сообщение 766300)
посмотрите в какой функции вам пишется ошибка, а какой функции вы привили код.

Он привел все как есть. Ваши "подсказки" абсолютно бесполезны и говорят о том, что вы не успеваете подумать перед написанием коментария.

iNils 25.09.2008 14:03

kackbip, мультипостинг запрещен, пользуйтесь кнопкой изменить.

BlooDHounD 25.09.2008 14:36

kackbip, наверно Вы правы. код приведён для метода setupButtons, а ошибка происходит в стэке, где этот метод даже не упоминается. я дурак, простите :(

kackbip 25.09.2008 14:53

Ну что вы. Такое признание... На это способны только самые умные люди, извините Вы меня за невежливое замечание.

terbooter 25.09.2008 14:55

Вложений: 1
BlooDHounD, просто признайтесь что поторопились и ошиблись.
Вот код документ класса
Код:

package  {
        import fl.controls.Button;
        import flash.display.Sprite;
       

        public class  Test extends Sprite{
               
                public function Test() {
                        trace("Test");
                        var button:Button = new Button();
                        this.addChild(button);
                       
                }
               
        }
       
}

Который дает ошибку
Цитата:

TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/addChildAt()
at fl.controls::BaseButton/drawBackground()
at fl.controls::LabelButton/draw()
at fl.controls::Button/draw()
at fl.core::UIComponent/callLaterDispatcher()

s8000_1 25.09.2008 16:54

alekson, перетащите компонент в библиотеку из меню компонент, как посоветовал kackbip

BlooDHounD 25.09.2008 17:22

ну что я могу сказать ещё :) я ошибся.
но при этом повторю своё мнение: ошибка не там. ошибка в самом компоненте. в ошибке не сказано "не хватает классов для отрисовки скина". в ошибке явно говорится, что куда-то пихают null.

terbooter, ваши исходники вывели следущие ошибки ещё на компиляции:
Код:

1172: Definition fl.controls:Button could not be found.
1046: Type was not found or was not a compile-time constant: Button.
1180: Call to a possibly undefined method Button.


kackbip 25.09.2008 17:50

это потому что нужно прописать путь до компонентских сорцов в Public Settings -> Flash -> Settings и там добавить путь .. у меня такой вот:
C:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\Component Source\ActionScript 3.0\User Interface


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

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