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

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

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

Регистрация: Aug 2006
Сообщений: 8
Отправить сообщение для vpnils с помощью ICQ
По умолчанию не удалось найти flash.xml

Приветствую знатоков!!
Не знаю куда запостить....
Читаю Мука - тема XML
Собс-но сабж: во время компиляции выдаётся мессага: не удалось найти определение flash.xml
хотя в ассистенте даёт выбрать из списка(значит видит?)
пишу на AS3.0
Может это быть причиной того, что у меня flash cs5 portable, а не проф?
ЗЫ. Обидно что всё изучение остановилось

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Скорее всего ошибка в коде.
Выложите код.
__________________
There is no thing in this world that is not simple.

Старый 18.03.2015, 21:27
vpnils вне форума Посмотреть профиль Отправить личное сообщение для vpnils Найти все сообщения от vpnils
  № 3  
Ответить с цитированием
vpnils

Регистрация: Aug 2006
Сообщений: 8
Отправить сообщение для vpnils с помощью ICQ
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Скорее всего ошибка в коде.
Выложите код.
Проверил код ещё раз, а потом случайно закомментировал оператор импорта - import flash.xml - и всё заработало. Но ведь это вопреки логике ....
//================
Код AS3:
 package  {
	import flash.display.Sprite;
	public class Runner extends Sprite  {
        //Из этого класса я запускаю все уроки Мука
		public function Runner() {
		trace("Runner is here..")
		var myxml:MyXML=new MyXML();
		}
 
	}
 
}
 
 
//=================
package  {
	import flash.display.Sprite;
	//import flash.xml; //строка закоментирована, компиляция проходит
 
	public class MyXML extends Sprite {
 
		public function MyXML() {
			trace("Myxml is here..");
			trace("  1-й Простой способ создания объекта XML ");
 
			 var inst:XML= <BOOK ISBN="0141182806"> 
 
			<TITLE>Ulysses</TITLE> 
			<AUTHOR>Joyce, James</AUTHOR> 
			<PUBLISHER>Penguin Books Ltd</PUBLISHER> 
			</BOOK>; 
                        trace("Экземпляр inst в себе содержит ");
			trace(inst.toXMLString());
//============================
 
		}//endconstr
 
	}//endclass
 
}//endpack

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
flash.xml - это пакет, причём в нём находятся классы, которые обычно никак не используются во флеше. А XML во флеше находится в верхнем уровне, его не надо импортировать.
Если бы вы хотели импортировать содержимое пакета, то вам нужно было бы написать
Код AS3:
import flash.xml.*;
__________________
There is no thing in this world that is not simple.

Старый 18.03.2015, 22:26
vpnils вне форума Посмотреть профиль Отправить личное сообщение для vpnils Найти все сообщения от vpnils
  № 5  
Ответить с цитированием
vpnils

Регистрация: Aug 2006
Сообщений: 8
Отправить сообщение для vpnils с помощью ICQ
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
flash.xml - его не надо импортировать.
То есть это справедливо для всех классов находящихся в самой папке flash?
Все эти классы не будут требовать явного импортирования?

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
flash.xml не имеет никакого отношения к классу XML, кроме похожего названия.
Классы в AS3 за исключением двух классов из всей флешевой библиотеки принято называть с большой буквы.
flash.xml - это пакет, который не содержит ничего полезного для вас.
А сам класс XML находится в верхнем уровне, так, что его не нужно импортировать.
__________________
There is no thing in this world that is not simple.

Старый 19.03.2015, 21:22
vpnils вне форума Посмотреть профиль Отправить личное сообщение для vpnils Найти все сообщения от vpnils
  № 7  
Ответить с цитированием
vpnils

Регистрация: Aug 2006
Сообщений: 8
Отправить сообщение для vpnils с помощью ICQ
Цитата:
flash.xml не имеет никакого отношения к классу XML,
Большое спасибо за разъяснения!!

Старый 19.03.2015, 21:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Ошибка в том, что под flash.xml компилятор вынужден искать класс (по правде говоря, это может быть не только класс, см. ниже про definitions) "xml" из пакета "flash", которого в пакете flash никогда не было. Отсюда и ошибка компиляции. Т.е. "flash.xml" есть сам пакет.
Если бы вам нужен был какой-нибудь класс из этого пакета, то правильный импорт мог бы выглядеть так:

Код AS3:
import flash.xml.*;
Добавлено через 4 минуты
Цитата:
Сообщение от vpnils Посмотреть сообщение
То есть это справедливо для всех классов находящихся в самой папке flash?
Все эти классы не будут требовать явного импортирования?
Все классы из пакетов, кроме top level (корневого, там могут быть и ваши классы, методы, переменные и константы, т.н. definitions) требуют импортирования, если сам импортирующий класс находится в другом пакете =)

Например, ваш класс в пакете ru.mail.game, то он должен импортировать явно все классы, кроме top level и классов из пакета ru.mail.game.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 20.03.2015, 03:38
vpnils вне форума Посмотреть профиль Отправить личное сообщение для vpnils Найти все сообщения от vpnils
  № 9  
Ответить с цитированием
vpnils

Регистрация: Aug 2006
Сообщений: 8
Отправить сообщение для vpnils с помощью ICQ
Цитата:
Ошибка в том, что под flash.xml компилятор вынужден искать класс "xml" из пакета "flash", которого в пакете flash никогда не было
Выходит, что я сам запутал компилятор, когда подсунул ему левый импорт , не будь которого, и он нашёл был без проблем искомый класс XML in toplevel .....

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,922
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Нет, вы просто неправильно написали импорт.
Директива import состоит из части имени пакета и части имени класса.
Вы написали import flash.xml(пакет)
Соответственно, компилятор думает, что xml - это класс, находящийся в пакете flash, но там его нет.
В итоге он выбрасывает ошибку, что не может найти определение.

Далее, даже если бы такой класс был, он бы никак не конфликтовал с классом XML в верхнем уровне просто потому, что XML и xml - разные вещи. В AS3 регистр символов имеет значение. Здесь имеет значение, написано ли имя с большой или с маленькой буквы - это уже 2 разных имени.
__________________
There is no thing in this world that is not simple.

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

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

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


 


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


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