![]() |
|
||||||||||
|
|||||
|
Приветствую знатоков!!
Не знаю куда запостить.... Читаю Мука - тема XML Собс-но сабж: во время компиляции выдаётся мессага: не удалось найти определение flash.xml хотя в ассистенте даёт выбрать из списка(значит видит?) пишу на AS3.0 Может это быть причиной того, что у меня flash cs5 portable, а не проф? ЗЫ. Обидно что всё изучение остановилось ![]() |
|
|||||
|
Проверил код ещё раз, а потом случайно закомментировал оператор импорта - import flash.xml - и всё заработало. Но ведь это вопреки логике ....
//================ 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 |
|
|||||
|
flash.xml - это пакет, причём в нём находятся классы, которые обычно никак не используются во флеше. А XML во флеше находится в верхнем уровне, его не надо импортировать.
Если бы вы хотели импортировать содержимое пакета, то вам нужно было бы написать
__________________
There is no thing in this world that is not simple. |
|
|||||
|
То есть это справедливо для всех классов находящихся в самой папке flash?
Все эти классы не будут требовать явного импортирования? |
|
|||||
|
flash.xml не имеет никакого отношения к классу XML, кроме похожего названия.
Классы в AS3 за исключением двух классов из всей флешевой библиотеки принято называть с большой буквы. flash.xml - это пакет, который не содержит ничего полезного для вас. А сам класс XML находится в верхнем уровне, так, что его не нужно импортировать.
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Цитата:
![]() |
|
|||||
|
.
|
Ошибка в том, что под flash.xml компилятор вынужден искать класс (по правде говоря, это может быть не только класс, см. ниже про definitions) "xml" из пакета "flash", которого в пакете flash никогда не было. Отсюда и ошибка компиляции. Т.е. "flash.xml" есть сам пакет.
Если бы вам нужен был какой-нибудь класс из этого пакета, то правильный импорт мог бы выглядеть так: Добавлено через 4 минуты Цитата:
Например, ваш класс в пакете ru.mail.game, то он должен импортировать явно все классы, кроме top level и классов из пакета ru.mail.game. |
|
|||||
|
Цитата:
, не будь которого, и он нашёл был без проблем искомый класс XML in toplevel ..... |
|
|||||
|
Нет, вы просто неправильно написали импорт.
Директива import состоит из части имени пакета и части имени класса. Вы написали import flash.xml(пакет) Соответственно, компилятор думает, что xml - это класс, находящийся в пакете flash, но там его нет. В итоге он выбрасывает ошибку, что не может найти определение. Далее, даже если бы такой класс был, он бы никак не конфликтовал с классом XML в верхнем уровне просто потому, что XML и xml - разные вещи. В AS3 регистр символов имеет значение. Здесь имеет значение, написано ли имя с большой или с маленькой буквы - это уже 2 разных имени.
__________________
There is no thing in this world that is not simple. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|