![]() |
|
||||||||||
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
Имеем класс:
package { import flash.events.*; import flash.xml.*; import flash.display.Loader; import flash.net.URLRequest; public class RTParse { public var rXML; public function GetLinkFromID(id:String) { var loader:Loader = new Loader(); loader.addEventListener(Event.COMPLETE, XMLLoad); loader.load(new URLRequest("блаблабла?id="+id)); trace('x:'+rXML); } private function XMLLoad(event:Event):void{ rXML=XML(event.target.data); trace(rXML); } } } проблема вот в чем. Из флешки я вызываю GetLinkFromID но оно мне ссылку не вернет. так как лоадер обрабатывается в XMLLoad. Как заставить флеш подождать чтоли, пока лоадер обработается и продолжить работу с rXML в функции GetLinkFromID? |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
AlexDesinger, это зачем?
SONce, в метод GetLinkFromID передавайте метод ожидающий xml. package { import flash.events.*; import flash.xml.*; import flash.display.Loader; import flash.net.URLRequest; public class RTParse { public var rXML; private var giveMeXML:Function; public function GetLinkFromID(id:String, giveMeXML:Function) { this.giveMeXML = giveMeXML; var loader:Loader = new Loader(); loader.addEventListener(Event.COMPLETE, XMLLoad); loader.load(new URLRequest("блаблабла?id="+id)); trace('x:'+rXML); } private function XMLLoad(event:Event):void{ rXML=XML(event.target.data); trace(rXML); giveMeXML(rXML); } } } |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
|
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
Цитата:
Bgg, несовсем понял вашу схему. Где в итоге окажется полученая инфа? |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
А вам где нужно то?)
Флешь не "ждет" никого! |
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
да это понятно что не ждет
![]() обьясню проще, мне нужно чтобы GetLinkFromID, ретурнил то что получает лоадер. |
|
|||||
|
SONce асинхронные запросы наружу ничего не ретурнят, подпишитесь на событие и ждите результата.
Вам предложили же одно решение, как вариант можете еще свой ивент диспатчить и наверху подписываться, но тут мне кажеться проще вышепредложенный вариант. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Я понял что вам нужно, но так нельзя. Придется ждать события об окончании загрузки как минимум, а уж кто/что ждать будет - решать вам. В моем примере ждет функция giveMeXML.
|
|
|||||
|
[+1.3 20.12.10]
Регистрация: Nov 2009
Сообщений: 124
|
я просто непонимаю как это работает(верхний вариант), как я понял, что после загрузки, xml передается в функцию giveMeXML которая находится в самой флешке, так?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|