![]() |
|
||||||||||
|
|||||
|
Вот кусок кода:
_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);
};
};
__________________
Belarus forever!!! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
onLoad вызывается после загрузки XML.
|
|
|||||
|
Так в чём может быть проблема? Может есть какие-то ограничения? У меня из 575 полей заполняет только 557. С самим XML всё впорядке, он через браузер грузится до конца, время на это уходит где-то секунд 5, а вот во флэше всё как-то быстрее, такое чуство, что не до конца загружает.
__________________
Belarus forever!!! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Проверяй trace-ом, что загрузилось.
|
|
|||||
|
Так проверил же... Загрузилось до 557 включительно, дальше "андифинед" и всё. При том, что всё время до 557.
__________________
Belarus forever!!! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Проверь трейсом весь XML, для начала. Т.е. выведи в аутпут весь XML.
|
|
|||||
|
В аутпут вывело весь XML. Странно... Есть ли какие-то ограничения у массива? Теперь ясно, что проблема в заполнении массива, но почему же он заполняется до 557 поля нормально, а потом нет?
__________________
Belarus forever!!! |
|
|||||
|
Вот полный текст. Может быть проблема в том, что массив неуспевает заполниться до конца, как к нему уже начинает обращатся другая функция?
//Добавление свойства изменения цвета у объектов
//----------------------------------------//
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!!! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Приведу цитату Вани:
Цитата:
|
|
|||||
|
Спасибо за содержательный ответ. Что же я могу сделать, если только начинаю работать с флэшем. Какой бы ни был код, но он работал
![]()
__________________
Belarus forever!!! |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|