Форум 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)
-   -   EventDispatcher! Не пойму почему не работает? (http://www.flasher.ru/forum/showthread.php?t=105183)

MisterX 10.12.2007 10:08

EventDispatcher! Не пойму почему не работает?
 
Код:

import mx.utils.Delegate;
import mx.events.*;
class sn.map.Config{
        private var dispatchEvent:Function;
        private var configXML:XML;
       
    public var addEventListener,removeEventListener:Function;
        public var onConfigLoaded:Function;
       
        public function Config(){
                trace("-Construct class");
                EventDispatcher.initialize(this);
                this.addEventListener('onConfigLoaded',this);
        }
        public function fetchConfig():Void{
                trace("-Download config");
                this.configXML=new XML();
                configXML.ignoreWhite=true;
                configXML.onLoad=Delegate.create(this,this.setConfig);
                configXML.load('config.xml');
        }
        private function setConfig(){
                var mainConfig:Array=(this.configXML.childNodes[0].childNodes);
                var cfgObj:Object= new Object();
                var navObj:Object= new Object();
                var engineObj:Object= new Object();
                for(var c=0;c<mainConfig.length;c++){
                        if(mainConfig[c].nodeName=='navigation'){
                                navObj=mainConfig[c].attributes;
                        }
                        if(mainConfig[c].nodeName=='engine'){
                                engineObj=mainConfig[c].attributes;
                        }
                        if(mainConfig[c].nodeName=='layers'){
                                var layers:Array=new Array();
                                for(var k=0;k<mainConfig[c].childNodes.length;k++){
                                        layers.push(mainConfig[c].childNodes[k].attributes);
                                }
                                layers.sortOn(['id']);
                        }
                }
                cfgObj.layers=layers;
                cfgObj.nav=navObj;
                cfgObj.engine=engineObj;
                trace("-Finish Download");
                this.dispatchEvent("onConfigLoaded",this,cfgObj);
        }
}

Код:
Код:

import sn.map.Config;
var cfgLoader:Config=new Config();
cfgLoader.onConfigLoaded=function(){
        trace("Loaded");
}
cfgLoader.fetchConfig();

Почемуто событие не срабатывает =(
Вопрос: Почему?

Ошибку нашел ...
dispatchEvent({type:"revealChild", target:this});
недочитал =)

etc 10.12.2007 10:40

ZOOM на будущее:
http://etcs.ru/files/zoom.png


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

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