Показать сообщение отдельно
Старый 12.10.2017, 17:10
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 8  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
Господа изволят издеваться

А если серьёзно, то какая-то адская фигня с последним AIR-ом началась. Скачал, поставил, работать с трудом, но заставил. Мой проект вылетел на этапе компиляции с примерно 160 ошибками. Причём большинство было связано с хранением данных в хэш-таблицах.

Создал с нуля маленький тестовый проект. С всего одним помимо main-а классом-хранителем. Вот его код:
Код AS3:
	public class KeeperClass 
	{
		public static const HINT:Object = {
			(Main.ID + Main.recordID as String): ["testHint1", "testHint2"]
		}
 
		public static function getHint(hintID:String):String
		{
			return(KeeperClass.HINT[hintID+1][0]);
		}
Собственно в main просто обращаемся к этому классу и получаем строчку для вывода на экран. При попытке компиляции получаю ошибки:

Error: An externally-visible definition with the name 'test.KeeperClass' was unexpectedly found.
Error: Duplicate class definition: KeeperClass.
Syntax error: '(' is not allowed here
Syntax error: Expected SCOPE_CLOSE but got ':'
Error: An externally-visible definition with the name 'test.getHint' was unexpectedly found.
Error: A conflict exists with definition KeeperClass in namespace public.
Error: The static attribute may be used only on definitions inside a class.

Это ещё не все но думаю, ситуация понятна. Откуда всё это? Что это за лажа?
Со старой версией равно как с flex-ом всё прекрасно работало. А теперь ошибок больше, чем строк кода.