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

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

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

Регистрация: Jun 2006
Сообщений: 400
По умолчанию Проблема. Несколько вспомогательных классов.

Есть основной класс в пакете. Есть дополнительный. Все нормально, пока дополнительный класс один. Как только делаю несколько дополнительных классов вылетает ошибка.

"Access of undefined property <имя переменной>"

С такой ошибкой отваливаются от основного класса все свойства. Убираю второй дополнительный класс - тишина и все работает.

Старый 28.10.2009, 15:42
il phoenix вне форума Посмотреть профиль Отправить личное сообщение для il phoenix Найти все сообщения от il phoenix
  № 2  
Ответить с цитированием
il phoenix

Регистрация: Apr 2009
Сообщений: 77
шайтан

Старый 28.10.2009, 15:44
Lecosson вне форума Посмотреть профиль Отправить личное сообщение для Lecosson Найти все сообщения от Lecosson
  № 3  
Ответить с цитированием
Lecosson

Регистрация: Apr 2008
Сообщений: 80
Записей в блоге: 3
Хотелось бы взглянуть на текст. У меня доп.классы работают нормально, по несколько штук.

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

Регистрация: Jun 2006
Сообщений: 400
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
 
	public class map extends MovieClip {
 
		public function map() {
			trace("Инициализация карты.");
			//stage.addEventListener("mouseUp",stageMouseUp);
			//stage.addEventListener("mouseWheel",stageMouseWheel);
			//stage.addEventListener("mouseMove",stageMouseMove);
			var test_x:Number;
			var test_y:Number;
			test_x=100;   // ===!!! ОШИБКА
			test_y=-100; // ===!!! ОШИБКА
 
		}
 
	}
}
 
 
 
class stationObj {
 
	public var x;
	public var y;
	public var mcLink;
	public var type;
 
 
 
	function stationObj(x,y,mcLink,type) {
 
		this.x=x;
		this.y=y;
		this.mcLink=mcLink;
		this.type=type;
	}
}
 
class lineObj {
 
	public var x;
	public var y;
	public var mcLink;
	public var type;
 
 
 
	function lineObj(x,y,mcLink,type) {
 
		this.x=x;
		this.y=y;
		this.mcLink=mcLink;
		this.type=type;
	}
}

Старый 28.10.2009, 17:18
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
навскидку:
1. в доп. классах конструкторы не объявлены как public
2. тип свойств и аргументов нигде не определен — некультурно )
__________________
Поймай яблоко 2!

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

Регистрация: Jun 2006
Сообщений: 400
Zebestov, public добавил. Толку ноль. Про типы согласен) не по кодстайлу.

Старый 28.10.2009, 17:25
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
они и не могут быть public, только internal
CS4 по каким-то непонятным причинам не может компилить больше одного вложенного класса
CS3, mxmlc могут

Старый 28.10.2009, 17:34
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 8  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
хм... на глаза не вижу что такого может произойти при добавлении иминавторого доп. класса.
хотя повальное использование зарезервированных имен меня все-таки сильно смущает: map, x, y, type. может для чистоты эксперимента все-таки подобавляешь префикс типо "my_" ко всем этим переменным и классу?

Добавлено через 3 минуты
internal что? конструктор? это класс — internal (ну оно и по умолчанию), а конструктор всегда должен быть public.

у меня CS4 компилит с двумя вложенными классами.
__________________
Поймай яблоко 2!


Последний раз редактировалось Zebestov; 28.10.2009 в 17:38.
Старый 28.10.2009, 17:46
proxiServer вне форума Посмотреть профиль Отправить личное сообщение для proxiServer Найти все сообщения от proxiServer
  № 9  
Ответить с цитированием
proxiServer
 
Аватар для proxiServer

Регистрация: Jun 2006
Сообщений: 400
Zebestov, слетает даже вот так если:
Код AS3:
    class test10{}
    class test11{}

Старый 28.10.2009, 17:55
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>у меня CS4 компилит с двумя вложенными классами
может что-то и компилит, но непонятно как
я как-то обдолбался искать в чем дело, когда совершенно отлаженный проект надо было скомпилить в CS4

Код AS3:
package {
	import flash.display.Sprite;
 
	public class Test extends Sprite {
 
		public var test:C1 = new C1();//такое компилит
		public function Test() 
		{
			//а такое уже нет (без второго класса компилит и такое)
			var test:C1 = new C1();
		}
 	}
}
 
class C1 {
	public function C1() {trace( "C1" );}
}
 
class C2 {
	public function C2() {trace( "C2" );}
}

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

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

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


 


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


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