La cosa es que no soy el programador más experimentado de actionscript pero ahí va mi duda.
Utilizando uno de los ejemplos de esta misma página he hecho un glosario que carga conceptos de diferentes xml en un list e imágenes en un scrollpane.
Hasta ahí me funciona perfectamente, pero, ¿cómo podría controlar los errores de carga de los xml? Esto me sería infinitamente útil para no tener que editar cada xml que no tiene texto. Mi idea es que cuando no cargue el xml, te salte un mensajito en plan "la letra tal no tiene conceptos".
Muchas gracias por adelantado.
Sin más os pongo el churráncano de código:
Código :
import flash.net.URLRequest; import flash.net.URLLoader; import fl.controls.List; import fl.data.DataProvider; import flash.text.TextFormat; import fl.managers.StyleManager; // //var _list:List; var _xml:XML; var _request:URLRequest; var _loader:URLLoader; var _dataProvider:DataProvider; // function loadData(_xmlData:String):void { // _request = new URLRequest(_xmlData); _loader= new URLLoader(); _loader.load(_request); } // function xmlLoaded(event):void { // _xml = new XML(_loader.data); _dataProvider = new DataProvider(_xml); _list.dataProvider = _dataProvider; trace(_request.url) } // function addListeners():void { // _loader.addEventListener(Event.COMPLETE, xmlLoaded); } var botonletras:Array=new Array( Aboton, Bboton, Cboton, Dboton, Eboton, Fboton, Gboton, Hboton, Iboton, Jboton, Kboton, Lboton, Mboton, Nboton, NNboton, Oboton, Pboton, Qboton, Rboton, Sboton, Tboton, Uboton, Vboton, Wboton, Xboton, Yboton, Zboton ); for each(var una:DisplayObject in botonletras){ una.addEventListener(MouseEvent.CLICK, pulsado); } var tf:TextFormat = new TextFormat(); tf.font = "Verdana"; tf.size = 12; tf.bold=false; StyleManager.setStyle("textFormat", tf); function pulsado(e:Event):void { //trace(e.target.name); texto.text=""; titulo.text=""; marco.source=null; var my_str: String=e.target.name.substring(0,e.target.name.length-5); //trace(my_str); loadData("/xml/"+my_str+"datos.xml") addListeners(); } loadData("/xml/Adatos.xml"); addListeners(); marco.verticalScrollPolicy="off"; marco.horizontalScrollPolicy="off"; _list.addEventListener(Event.CHANGE, changeHandler); function changeHandler(event:Event):void { //trace(marco.source); trace((event.target).selectedItem.imagen); texto.text=(event.target).selectedItem.data; titulo.text=(event.target).selectedItem.label; marco.source=("/imgs/")+(event.target).selectedItem.imagen; }