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

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

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

Регистрация: Aug 2005
Сообщений: 70
Отправить сообщение для intro с помощью ICQ
По умолчанию Проблемы с XML

Вот кусок кода:
Код:
_global.xml_array = new Array(); 
var my_xml:XML = new XML();         //Блок подключения и загрузки XML
my_xml.ignoreWhite = true;
my_xml.load("http://10.182.3.13/current_measure_xml/doXML.php");
my_xml.onLoad = function(ok) {
	if (ok) {
	for (j=0; j<575; j++) {
		    _global.xml_array[j+1] = new Array; 
			_global.xml_array[j+1].val=my_xml.childNodes[0].childNodes[j].childNodes[0].childNodes[0].nodeValue;
			_global.xml_array[j+1].typ=my_xml.childNodes[0].childNodes[j].childNodes[1].childNodes[0].nodeValue;
			_global.xml_array[j+1].time_stamp=my_xml.childNodes[0].childNodes[j].childNodes[2].childNodes[0].nodeValue;
			_global.xml_array[j+1].ent_name=my_xml.childNodes[0].childNodes[j].childNodes[3].childNodes[0].nodeValue;
			_global.xml_array[j+1].tag_name=my_xml.childNodes[0].childNodes[j].childNodes[4].childNodes[0].nodeValue;
			//-------------------------------------------//
			trace(_global.xml_array[j+1].val);
			trace(_global.xml_array[j+1].typ);
			trace(_global.xml_array[j+1].time_stamp);
			trace(_global.xml_array[j+1].ent_name);
			trace(_global.xml_array[j+1].tag_name);
						};
			};
Дело в том, что XML не загружается до конца. Вопрос: событие onLoad срабатывает только тогда когда XML полностью загружен или тогда, когда он начинает загрузку?
__________________
Belarus forever!!!

Старый 24.10.2006, 18:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
onLoad вызывается после загрузки XML.

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

Регистрация: Aug 2005
Сообщений: 70
Отправить сообщение для intro с помощью ICQ
Так в чём может быть проблема? Может есть какие-то ограничения? У меня из 575 полей заполняет только 557. С самим XML всё впорядке, он через браузер грузится до конца, время на это уходит где-то секунд 5, а вот во флэше всё как-то быстрее, такое чуство, что не до конца загружает.
__________________
Belarus forever!!!

Старый 24.10.2006, 18:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Проверяй trace-ом, что загрузилось.

Старый 24.10.2006, 18:39
intro вне форума Посмотреть профиль Отправить личное сообщение для intro Найти все сообщения от intro
  № 5  
Ответить с цитированием
intro
 
Аватар для intro

Регистрация: Aug 2005
Сообщений: 70
Отправить сообщение для intro с помощью ICQ
Так проверил же... Загрузилось до 557 включительно, дальше "андифинед" и всё. При том, что всё время до 557.
__________________
Belarus forever!!!

Старый 24.10.2006, 18:42
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Проверь трейсом весь XML, для начала. Т.е. выведи в аутпут весь XML.

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

Регистрация: Aug 2005
Сообщений: 70
Отправить сообщение для intro с помощью ICQ
В аутпут вывело весь XML. Странно... Есть ли какие-то ограничения у массива? Теперь ясно, что проблема в заполнении массива, но почему же он заполняется до 557 поля нормально, а потом нет?
__________________
Belarus forever!!!

Старый 24.10.2006, 19:18
intro вне форума Посмотреть профиль Отправить личное сообщение для intro Найти все сообщения от intro
  № 8  
Ответить с цитированием
intro
 
Аватар для intro

Регистрация: Aug 2005
Сообщений: 70
Отправить сообщение для intro с помощью ICQ
Вот полный текст. Может быть проблема в том, что массив неуспевает заполниться до конца, как к нему уже начинает обращатся другая функция?
Код:
//Добавление свойства изменения цвета у объектов
//----------------------------------------//
MovieClip.prototype.id = function(color){
a = new Color(this);
a.setRGB(color);
};
colors_1 = [];//красный
colors_2 = [];//фиолетовый
colors_3 = [];//жёлтый
colors_4 = [];//белый
colors_5 = [];//зелёный
colors_1[1] = 0xff0000;
colors_1[16] = 0xff0000;
colors_1[272] = 0xff0000;
colors_2[1] = 0x6633CC;
colors_3[1] = 0xFFFF00;
colors_4[1] = 0xFFFFFF;
colors_5[1] = 0x006633;
//----------------------------------------//
//Заполнение массива данными из XML файла
//----------------------------------------//
_global.xml_array = new Array(); 
var my_xml:XML = new XML();         //Блок подключения и загрузки XML
my_xml.ignoreWhite = true;
my_xml.load("http://10.182.3.13/current_measure_xml/doXML.php");
my_xml.onLoad = function(ok) {
	if (ok) {
	for (j=0; j<575; j++) {
		    _global.xml_array[j+1] = new Array; 
			_global.xml_array[j+1].val=my_xml.childNodes[0].childNodes[j].childNodes[0].childNodes[0].nodeValue;
			_global.xml_array[j+1].typ=my_xml.childNodes[0].childNodes[j].childNodes[1].childNodes[0].nodeValue;
			_global.xml_array[j+1].time_stamp=my_xml.childNodes[0].childNodes[j].childNodes[2].childNodes[0].nodeValue;
			_global.xml_array[j+1].ent_name=my_xml.childNodes[0].childNodes[j].childNodes[3].childNodes[0].nodeValue;
			_global.xml_array[j+1].tag_name=my_xml.childNodes[0].childNodes[j].childNodes[4].childNodes[0].nodeValue;
			//-------------------------------------------//
			/*trace(_global.xml_array[j+1].val);
			trace(_global.xml_array[j+1].typ);
			trace(_global.xml_array[j+1].time_stamp);
			trace(_global.xml_array[j+1].ent_name);
			trace(_global.xml_array[j+1].tag_name);*/
						};
			};
		
/*trace(_global.xml_array[558].val);
trace(_global.xml_array[558].typ);
trace(_global.xml_array[558].time_stamp);
trace(_global.xml_array[558].ent_name);
trace(_global.xml_array[558].tag_name);*/
};

intID1 = setInterval(color_,100);
function color_() {
	//Зарисовка выключателей "Гродно-330"
	Gro_v_1.id(colors_1[parseInt(_global.xml_array[180].val)]);
	Gro_v_2.id(colors_1[parseInt(_global.xml_array[189].val)]);
	Gro_v_3.id(colors_1[parseInt(_global.xml_array[188].val)]);
	Gro_v_4.id(colors_1[parseInt(_global.xml_array[179].val)]);
	Gro_v_5.id(colors_1[parseInt(_global.xml_array[181].val)]);
	Gro_v_6.id(colors_1[parseInt(_global.xml_array[187].val)]);
	
	
	//-------------------------------------------------------------//
	//Вывод данных телеметрии
	//ГРОДНО-330
	gr_t_1.text = _global.xml_array[165].val + 'кВ';
	gr_t_2.text = _global.xml_array[324].val;
	gr_t_3.text = _global.xml_array[323].val;
	gr_t_4.text = _global.xml_array[172].val;
	gr_t_5.text = _global.xml_array[154].val;
	gr_t_6.text = _global.xml_array[177].val;
	gr_t_7.text = _global.xml_array[160].val;
	gr_t_8.text = _global.xml_array[173].val;
	gr_t_9.text = _global.xml_array[155].val;
	gr_t_10.text = _global.xml_array[175].val;
	gr_t_11.text = _global.xml_array[157].val;
	gr_t_12.text = _global.xml_array[174].val;
	gr_t_13.text = _global.xml_array[156].val;
	gr_t_14.text = _global.xml_array[163].val+'кВ';
	gr_t_15.text = _global.xml_array[170].val;
	gr_t_16.text = _global.xml_array[161].val;
	gr_t_17.text = _global.xml_array[171].val;
	gr_t_18.text = _global.xml_array[150].val;
	gr_t_19.text = _global.xml_array[145].val;
	gr_t_20.text = _global.xml_array[152].val;
	
};
	stop();
	intID2=setInterval(function(){Play();},30000);
__________________
Belarus forever!!!

Старый 24.10.2006, 19:22
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Приведу цитату Вани:
Цитата:
Сообщение от iv
- сорри, но встречая такой код, я включаю на максимум в наушниках
группу "Кровосток", песню "Жесть", понимаю, что в жизни бывает и хуже
и переделываю такой код с нуля.
Я с ним полностью согласен.

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

Регистрация: Aug 2005
Сообщений: 70
Отправить сообщение для intro с помощью ICQ
Спасибо за содержательный ответ. Что же я могу сделать, если только начинаю работать с флэшем. Какой бы ни был код, но он работал
__________________
Belarus forever!!!

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

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

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


 


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


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