Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как обратиться к основному классу (http://www.flasher.ru/forum/showthread.php?t=170124)

kaetano 19.10.2011 02:01

Как обратиться к основному классу
 
Всем здравствуйте. помогите разобраться, пожалуйста!

Осваиваю ФД.
в IDE была основном классе статическая ссылка на самого себя для обращения к некоторым переменным из других классов.
Код AS3:

        public class Constructor extends Sprite {
                public static var mainC:Constructor;//ссылка на самого себя
......
//и вот переменные:
                public function set colObject(nCol:uint):void{
                        _colObject = nCol;
                }
                public function get colObject():uint{
                        return _colObject;
                }

а в одном из классов обращаемся к переменным основного класса:
Код AS3:

                 Constructor.mainC.colObject = super._bgColor;
                        Constructor.mainC.heightObject = _heightOb;
                        Constructor.mainC.widthObject = _widthOb;
                        Constructor.mainC.coordObject = new Point(_xOb, _yOb);


в IDE все работало как часы, а в ФД выдает ошибку, ссылаясь на строку где вызывается основной класс

Код AS1/AS2:

Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".


Dukobpa3 19.10.2011 03:47

В иде не стоит по дефолту стрикт мод. А в фд стоит.

И неплохо было бы показать строку в которой ошибка, а то там этих null'ов тысячи могут быть.

Thurman Merman 19.10.2011 04:52

Во Flash IDE компилируете?
"Error #1009" это ошибка времени выполнения, в указанном коде она может возникнуть только при обращении к переменной mainC класса Constructor, скорее всего вы ей не присвоили значение.
Из полезного - ошибки выполнения, ошибки компиляции, разделение рабочего процесса

p.s. при компиляции в сторонних IDE вам покажут и строчку и место возникновения ошибки.

DaFive 19.10.2011 09:56

Тем паче, что ни одной переменной вы не показали как объявляете. Только геттер и сеттер один.


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

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