Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Синхронный load XML (http://www.flasher.ru/forum/showthread.php?t=100641)

milDude 31.08.2007 21:47

Синхронный load XML
 
Код:

class Class1
{
        function selectedChannels():Array
        {

                var flooring:XML = new XML();
 
                flooring.onLoad = function(success)
                {
                        // обработка массива "a"
                    return(a);       
                }
               
                flooring.load("bla.xml");       
        }
}


Код:

import Class1;

var a:Class1 = new Class1();
var b:Array = new Array();

b = a.selectedChannels();


Мне _etc уже успел объяснить что ActionScript работает асинхронно. Я понимаю почему вышеприведённый код не работает, но я не знаю как эту задачу в итоге реализовать.


Желательно конечно изменить класс, а не основной код.

etc 31.08.2007 22:31

Надо изменить свой собственный подход к решению задачи, а не идти по заранее гиблому пути.
В приведенном варианте задача решения не имеет, такое невозможно во Flash.

Eric Gurt 31.08.2007 22:34

я пробывал грузить сразу 10 хмл в чате, и в результате получались странные коллизии - чиался один файл, а возвращалось содержимое другого.
Я решил эту проблему, запрашивая рнр файл, который склеивал несколько хмл-ек и возвращал результат.

milDude 31.08.2007 23:31

Цитата:

Сообщение от __etc
Надо изменить свой собственный подход к решению задачи, а не идти по заранее гиблому пути.
В приведенном варианте задача решения не имеет, такое невозможно во Flash.

Каким тогда путём идти? Желательно чтобы код оставался ясным.

etc 31.08.2007 23:35

Отказаться от синхронности.
Выполнять действия по событиям.

milDude 01.09.2007 00:47

Получается, что классы для загрузки данных сделать не получится?

etc 01.09.2007 00:50

Получится. Используя все ту же событийную модель.

Eric Gurt 01.09.2007 00:56

я не пойму, в чем заключается необходимость синхронной загрузки хмл?

milDude 01.09.2007 01:13

Цитата:

Сообщение от __etc
Получится. Используя все ту же событийную модель.

Не можете привести коротенький пример. Никак не укладывается как это можно сделать. То есть я понимаю, что такое события, делегаты там итырым ... но как это можно инкапсулировать в класс?

Цитата:

Сообщение от Eric Gurt
я не пойму, в чем заключается необходимость синхронной загрузки хмл?

А как я буду работать с данными, которые ещё не пришли? Ну понятно, что через onLoad. Только ведь некрасиво у меня получается. Может у кого получается красиво.

†‡Paladin‡† 01.09.2007 01:25

Чем некрасиво то? Есть событие есть обработка. По моему все шикарно.


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

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