Comunidad de diseño web y desarrollo en internet online

Controlar errores de carga xml.

Citar            
MensajeEscrito el 09 May 2011 08:28 am
Buenas, soy nuevo en el foro aunque llevo ojeando esta página y aprovechándome de vuestros conocimientos mucho tiempo.
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;
   }

Por Zorropollo

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 May 2011 02:32 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 May 2011 04:21 pm
Muchas gracias por la respuesta, al final lo he solucionado añadiéndole un listener al loader para que ejecute una función en caso de error.


Código :

function addListeners():void { 
   // 
   _loader.addEventListener(Event.COMPLETE, xmlLoaded);
   _loader.addEventListener(IOErrorEvent.IO_ERROR ,errorCarga); 
   
} 

function errorCarga(event):void { 
   trace("ERRORRRR")
   texto.text="En esta unidad no hay conceptos que empiecen por esta letra.";
   _list.removeAll();
}

Por Zorropollo

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.