Просмотр полной версии : не работает ссылка на самого себя (FD)
Добрый вечер.
У меня такая проблема. перехожу на ФД и выдает ошибку, ссылаясь на строчку
public static var main:Main; //Ссылка на самого себя
ошибка:
: 18 Error: Access of possibly undefined property isPaused through
a reference with static type Main.
Такая ссылка нужна, чтобы дочерние объекты могли контролировать ситуацию - не нажата ли пауза и скорость просмотра....
в доч.классах обращаюсь так:
private function onTimerAppear(event:TimerEvent):void{
if(!Main.main.isPaused){
tTimer.delay = 20/Main.main.koefSpeed;
//.......
}
}
причем во флеше все работало...
заранее спасибо!!!
Подозреваю, что он Main найти не может, или создал второй файл с таким же названием. Ну и, на всякий случай: а у Main точно есть свойство с таким именем?
crazyone
16.12.2011, 03:12
Русски Простым же языком в ошибке написано: у класса Main нет переменной "isPaused". Ссылка на самого себя тут не при чем.
strangedk
16.12.2011, 19:32
А зачем такой изврат?
Если Main это базовый класс, то наследуйте isPaused и используйте уже прямо в дочерних.
- или значение переменной должно быть одинаково для всех дочерних объектов?
А зачем такой изврат?
Если Main это базовый класс, то наследуйте isPaused и используйте уже прямо в дочерних.
- или значение переменной должно быть одинаково для всех дочерних объектов?
та не, это не базовый, а основной класс, в нем хранятся переменные. тот же флаг наличия паузы. и, конечно, он должен быть один.
Добавлено через 2 минуты
Русски Простым же языком в ошибке написано: у класса Main нет переменной "isPaused". Ссылка на самого себя тут не при чем.
не привела определение:
public static var main:Main; //Ссылка на самого себя
private var _isPaused:Boolean; //Флаг - пауза
попробовала сделать ее public и static - все тоже самое.
и почему в IDE работало?
прям даже интересно))
Добавлено через 9 минут
Подозреваю, что он Main найти не может, или создал второй файл с таким же названием. Ну и, на всякий случай: а у Main точно есть свойство с таким именем?
Вот это похоже на правду - не может найти Main..... странно, вроде ж основной класс, через него запускаем все приложение и все работает кроме этого момента.
Может потому что они в разных папках лежат?
Все никак не могу разобраться в ФД с папками - куда и что класть и как потом это прописывать.:umnik2:
Пробовала найти в инете информацию - не получилось
А можно посмотреть на код Main, и так чтобы в нем было isPaused public свойство?
аааа, все снимаю вопрос!
ворона - пропустила подчеркивание. так глупо(((
извините
в ошибке говорится о "isPaused" а в вашем коде имя пер. "_isPaused" . В этом причина? Или к ней через геттер обращаются?
А в ИДЕ стрикт режим по умолчанию выключен. Так что она многое стерпит )
Добавлено через 48 секунд
Не успел )
тааак. на этапе компиляции все проходит, а дальше, на этапе показа выдает ошибку
[Fault] exception, information=TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
и опять вот эта строка
if(!Main.main._isPaused){
HardCoder
17.12.2011, 02:11
А вы точно присвоили свойству main значение, или только обьявили его?public static var main:Main;
private var _isPaused:Boolean;
public function Main(){
main = this;
}
А вы точно присвоили свойству main значение, или только обьявили его?public static var main:Main;
private var _isPaused:Boolean;
public function Main(){
main = this;
}
как же я Вам благодарна:)
:yahoo:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.