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

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

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

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
Attention Работа с внешним XML

AS.

Код AS1/AS2:
stop();
 
main = new Array();
 
function myLoad() {
	xmlNode = my_xml.firstChild;
	total = xmlNode.childNodes.length;
	for (i=0;i<total;i++) {
		_root.main[xmlNode.childNodes[i].attributes.name] = xmlNode.childNodes[i].attributes.data;
	}
}
 
my_xml = new XML();
my_xml.onLoad = Delegate.create(this, myLoad);
my_xml.load('main.xml');
my_xml.ignoreWhite = true;
trace (main['server']); // up to undefined
XML

Код:
<main>
	<item name='server' data="example.com"/>
	<item name='version' data="20090901" />
</main>
При такой загрузке основной флеш не видит переменные вне области myLoad, хотя дебаг говорит:

Код:
Переменная _level0.main = [объект #5, класс "Array"] [
    server:"example.com",
    version:"20090901"
  ]
Подскажите ламеру как правельно сделать загрузку с внешнего xml для последующей передачи за пределы видимости ф-ции myLoad.

Старый 01.09.2009, 20:46
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Все последующие действия с xml должны производиться после его загрузки, т.е. после вызова myLoad(). Код выполняется асинхронно. Загрузка происходит не моментально.

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

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
я уже об этом думал. т.е. получается, что после myLoad должно работать

Код AS1/AS2:
trace(my_xml.firstChild.childNodes[0].attributes.name)
но опять таки undefined. Вот именно этот момент я не могу понять. Можите по подробнее объяснить?

Старый 01.09.2009, 21:19
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
trace у вас вызывается до того, как вызывается обработчик myLoad();

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

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
Хм. Понятно. Спасибо! Сделаю внешний контейнер из myLoad, для обработки результатов. Ещё раз спасибо!

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

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

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


 


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


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