
Код:
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});
недочитал =)