Форум 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)
-   -   Проблема с class (http://www.flasher.ru/forum/showthread.php?t=69759)

va109 30.09.2005 02:21

Проблема с class
 
class ac {
var bodyTitle:String=null;

function ac(getFromUrl:String) {
var data_xml = new XML();
data_xml.ignoreWhite = true;
data_xml.load(getFromUrl);
data_xml.onLoad = function(succes) {
if (succes) {
.....
bodyTitle=child1.firstChild.nodeValue;
}
}
}

проблема в том что если я пытаюсь записать в bodyTitle в data_xml.onLoad то он нечго в него незаписаваю, если же вне этого метода то все нормально. Как сделать так чтобы по прошествию onLoad данные записывались в какуюнибуть переменную и к ней можно былобы обратится, например ac.bodyTitle?

7thsky™ 30.09.2005 02:30

Код:

class Test {
        private var __xml:XML = null;
       
        public function Test ():Void {
                init ();
        }
       
        public function init ():Void {
                __xml = new XML ();
                __xml.onLoad = Delegate.create (this, __onLoad);
                __xml.load ('http://www.text.com/text.xml');
        }
       
        private function __onLoad (flag:Boolean):Void {
                if (flag) {
                        trace (__xml.toString ());
                } // end if
        }
}

второй вариант
Код:

class Test {
        private var __xml:XML = null;
       
        public function Test ():Void {
                init ();
        }
       
        public function init ():Void {
                var x:XML = new XML ();
                x.onData = Delegate.create (this, __onData);
                x.load ('http://www.text.com/text.xml');
        }
       
        private function __onData (response:String):Void {
                if (response != undefined) {
                        __xml = new XML ();
                        __xml.ignoreWhite = true;
                        __xml.parseXML (response);
                        if (__xml.status == 0) {
                                // валидный XML, загрузка успешна
                                trace (__xml.toString ());
                        } // end if
                } // end if
        }
}


va109 30.09.2005 03:16

7thsky™, огромное спасибо все заработало, я даже и незнал про delegate

va109 30.09.2005 03:29

Еще один вопрос, как можно узнать когда выполнится функцыя __onLoad чтобы к ней можно былобы обратится. Я так понимаю это через листнеры делается, но как?


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

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