El problema lo tengo que al cargar el MXML no muestra las etiquetas correctamente. Supongo que es un problema de sincronismo entre una y otra pero no sé como solucionarlo.
Clase de lectura del fichero xml:
Código ActionScript :
public var IdLanguage:String = ""; public var curdatalanguage:Array; private var xml:XMLDocument = new XMLDocument(); private var decoder:SimpleXMLDecoder; private var datalanguage:Object; private var ws:services.web.WebH = new services.web.WebH; private var ws2:CallResponder = new CallResponder; public function Language(iLang:String ) { IdLanguage = iLang ws2.addEventListener(ResultEvent.RESULT,wsCompleted); ws2.token = ws.ws_XmlGetIdioma(); } private function wsCompleted(evt:ResultEvent):void{ xml.parseXML(evt.result.toString()); decoder = new SimpleXMLDecoder(); datalanguage = decoder.decodeXML( xml ); switch (IdLanguage) { case "CAT": curdatalanguage = ArrayUtil.toArray( datalanguage.idiomas.cat); break; case "ESP": curdatalanguage = ArrayUtil.toArray( datalanguage.idiomas.esp); break; default: curdatalanguage = ArrayUtil.toArray( datalanguage.idiomas.cat); break; } public function g(idLang:Number, sDef:String):String { var str:String = "#" + sDef; if (( idLang >= 0 ) && (idLang <= curdatalanguage[0].length) ) { str = curdatalanguage[0][idLang].toString(); } return str; } Desde el MXML : en el "creationcomplete", se llama a : InitApp() { cLang = new Language("CAT"); }
y en la parte del formulario, vemos :
<s:Label text="{cLang.g(60018,'Usuario')}" id="lblUser" textAlign="right" right="90" width="128" top="19"/>
( el problema es que en el Label, nunca muestra ningún valor )