Форум 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)
-   -   помогите с классом (http://www.flasher.ru/forum/showthread.php?t=91716)

screamge 06.02.2007 20:51

помогите с классом
 
пишу...

Код:


class Gate {
        var date:String;
        var game1:String;
        var game2:String;
       
        function loadX(init:Number) {
                var myXML:XML = new XML();
                myXML.ignoreWhite = true;
                myXML.load("textlib.xml");
                myXML.onLoad = function(init:Number) {
                        var games = myXML.firstChild.firstChild.firstChild;
                        this.date = games.childNodes[1].attributes._date;
                };
        }
}

хочу...что б из функции loadX передавалосб значение переменной date, объявленной в начале класса...и вот никак не получаятся

lowka 06.02.2007 21:01

this у вас указывает на myXML. Используйте Delegate для избежания подобных проблем.
Код:

import mx.utils.Delegate;

class Gate {
        var date:String;
        var game1:String;
        var game2:String;
       
        function loadX(init:Number) {
                var myXML:XML = new XML();
                myXML.ignoreWhite = true;
                myXML.onLoad = Delegate.create(this, this.onLoad);
                myXML.load("textlib.xml");
        }
       
        function onLoad(success:Boolean) {//зачем здесь было Number? (+хотя вы все равно не проверяете...)
                var games = myXML.firstChild.firstChild.firstChild;
                this.date = games.childNode[1].attributes._date;
        };

}


etc 06.02.2007 21:13

Код:

import mx.utils.Delegate;

class Gate {
        private var date:String;
        private var game1:String;
        private var game2:String;
        private var myXML:XML;

        public function Gate() {

        }
       
        public function loadX():Void {
                this.myXML = new XML();
                this.myXML.ignoreWhite = true;
                this.myXML.onLoad = Delegate.create(this, this.loadHandler);
                this.myXML.load("textlib.xml");
        }
       
        private function loadHandler(success:Boolean):Void {
                var games:XMLNode = this.myXML.firstChild.firstChild.firstChild;
                this.date = games.childNode[1].attributes['_date'];
        };

}


screamge 06.02.2007 21:21

спасибо...


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

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