На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём защитника отечества!



msm.ru
Модераторы: PIL
  
> stage == "null" или "как победить flash?", Не удается вызвать свойство или метод со ссылкой на объект "null".
    Проект ActionScript3.0. В конструкторе главного класса хочу инициализировать сцену. Проблема в том что на этапе выполнения выдается ошибка:
    "TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null"."
    смысл ошибки ясен, вопрос что нужно поменять чтоб stage не был "null"?

    P.S. Adobe Flash CS5 Professional, код прилагается (жалких 10 строчек)))

    Прикреплённый файлПрикреплённый файлmain.rar (8,46 Кбайт, скачиваний: 585)
      Дело в том, что пока Displayable-объект не добавлен на сцену, свойство stage этого объекта очевидно равно null (сначала выполняется конструктор объекта). Я делаю так:
      ExpandedWrap disabled
        public class YourMainClass extends Sprite
        {
            public function YourMainClass ():void {
                addEventListener(Event.ADDED_TO_STAGE, startApplication);
                // больше ничего сюда не пишите без острой необходимости
            }
            private function startApplication (e:Event):void {
                removeEventListener(Event.ADDED_TO_STAGE, startApplication);
                // Здесь ВЕСЬ ваш код инициализации приложения
            }
        }

      Есть и другие варианты, но этот самый простой.
        piksel, спасибо огромное - заработало! одним ответом и объяснил и дал решение :)
        P.S. а я уж и не знал что придумать.
          Цитата piksel @
          Дело в том, что пока Displayable-объект не добавлен на сцену, свойство stage этого объекта очевидно равно null (сначала выполняется конструктор объекта). Я делаю так:
          ExpandedWrap disabled
            public class YourMainClass extends Sprite
            {
                public function YourMainClass ():void {
                    addEventListener(Event.ADDED_TO_STAGE, startApplication);
                    // больше ничего сюда не пишите без острой необходимости
                }
                private function startApplication (e:Event):void {
                    removeEventListener(Event.ADDED_TO_STAGE, startApplication);
                    // Здесь ВЕСЬ ваш код инициализации приложения
                }
            }

          Есть и другие варианты, но этот самый простой.

          может, подскажите пожалуйста, где ошибка в моем случае?

          последовательность действий такая:
          1) создал простенький сайт с горизонтальным меню из кнопок
          2) добавил кнопки вертикального подменю
          3) при программировании кнопок в АС с первым подменю все ОК (ГЛАВНАЯ - (а)новости,(б)всеуслуги)
          4) начинаю программировать второе подменю (ТАРИФЫ - (а)физлица,(б)юрлица,(с)допуслуги)
          вылазит ошибка:
          TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
          at datanet_fla::MainTimeline/frame1()

          погуглив, пришел к выводу, что ошибка в том, что объект - кнопка "физлица" либо не существует либо еще не на сцене.
          переделал действия 1-4 пошагово несколько раз - с первым подменю все ок, со вторым - эта ошибка

          где косяки?...
          файл с АС прилагаю....
          Прикреплённый файлПрикреплённый файлas.txt (1,21 Кбайт, скачиваний: 354)
            на каком фрейме код, и на каком фрейме второе подменю?
            Долог путь в бессмертие... я еще вернусь.
            Профильный скилл "Телепатия" 8%
            ТРОЛЛЬ - Троян Разрушительный Опасный, Лучше ЛинятЬ (с) Freezing Spell
            Прошу потестить игру.
              Цитата Vesper @
              на каком фрейме код, и на каком фрейме второе подменю?

              спасибо, навели на путь решения!

              код на подменю писал в первом кадре, а то, которое не работало, появлялось в 21 - перенес код в 21-й кадр и все стало ОК!)

              бывает жеж - решение просто и под носом, а помогает только взгляд со стороны...
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script Execution time: 0,1094 ]   [ 21 queries used ]   [ Generated: 26.02.20, 06:04 GMT ]