Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.10.2014, 22:01
svdsLis вне форума Посмотреть профиль Отправить личное сообщение для svdsLis Найти все сообщения от svdsLis
  № 1  
Ответить с цитированием
svdsLis

Регистрация: May 2013
Сообщений: 18
The bomb! Ошибка 1119: Access of possibly undefined property.

Всем здравствуйте. Столкнулся вот с такой проблемой.
Есть код:
Код AS3:
(this.root as Main).core.gamesManager.game.addEventListener(Game.DATE_CHANGE, onDateChange);
Который работает.
Но стоит мне подключить это:
Код AS3:
import core.StringsManager;
Выдаёт ошибку:
1119: Access of possibly undefined property gamesManager through a reference with static type Main.

Класс StringsManager:
Код AS3:
package core 
{
	// Менеджер строк
	public class StringsManager 
	{
		/* Константы */
		public static const TEXT_FORMAT:String = "text";
		public static const URL_FORMAT:String = "url";
 
		private static var stringsList:XML;
 
		// Загрузить информацию
		public static function load(strings:XML):void
		{
			stringsList = strings;
		}
 
		// Поиск строки по списку тегов //! Оптимизировать
		public static function getStringByTags(format:String, tags:Array):String
		{
			return "ERROR!";
		}
	}
}
А вот если написать так:
Код AS3:
((this.root as Main).core as Core).gamesManager.game.addEventListener(Game.DATE_CHANGE, onDateChange);
То всё работает.

Старый 06.10.2014, 23:27
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Тут название пакета core совпадает с названием переменной.
Программа пытается найти в пакете core свойство gameManager, которого там нет. Отсюда и проблема.
Надо либо пакет переименовать, либо переменную

п.с. Этот код вообще ужасен. По-хорошему, так делать вообще нельзя
__________________
Ко мне можно и нужно обращаться на ты)

Старый 06.10.2014, 23:29
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 3  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Этот код вообще ужасен. По-хорошему, так делать вообще нельзя
:о) но все делают
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 06.10.2014, 23:31
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от GBee Посмотреть сообщение
:о) но все делают
Я не делаю) Уже не все
__________________
Ко мне можно и нужно обращаться на ты)

Старый 06.10.2014, 23:39
svdsLis вне форума Посмотреть профиль Отправить личное сообщение для svdsLis Найти все сообщения от svdsLis
  № 5  
Ответить с цитированием
svdsLis

Регистрация: May 2013
Сообщений: 18
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Тут название пакета core совпадает с названием переменной.
Программа пытается найти в пакете core свойство gameManager, которого там нет. Отсюда и проблема.
Надо либо пакет переименовать, либо переменную

п.с. Этот код вообще ужасен. По-хорошему, так делать вообще нельзя
Благодарю, помогло.

Старый 06.10.2014, 23:49
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 6  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Я не делаю) Уже не все
Кстати, а какой выход? Пихать каждый уровень в переменную, или геттеров-оберток наделать?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 07.10.2014, 09:37
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 7  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
А зачем вообще нужен доступ к мейну? Все, что там должно быть - инициализация старлинга или создание вьюшки и контроллера.

Старый 07.10.2014, 11:13
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 8  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
А зачем вообще нужен доступ к мейну? Все, что там должно быть - инициализация старлинга или создание вьюшки и контроллера.
Возможно это разрушит ваше мировоззрение, но не все используют МВЦ и уж точно Старлинг.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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