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 )
