Comunidad de diseño web y desarrollo en internet online

acceder a un xml cargado en una clase desde otra

Citar            
MensajeEscrito el 02 Dic 2008 02:35 pm
Hola a todos/as. Por favor, estoy intentando llamar a una clase que carga un xml desde otra clase pero me sale el error "Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo." Estuve buscando información pero estoy desesperada porque no consigo avanzar nada desde hace días. Necesito su ayuda.

Clase que carga el xml:

Código :

package clases{
   import flash.display.*;
   import flash.events.*;
   import flash.net.*;
   import flash.utils.*;
   
   public class CargarXML extends EventDispatcher {
      
      private var loader:URLLoader;
      private var example:XML;
      private var xml:XML;
      
      public function CargarXML(elXML:String) {
         var loader = new URLLoader();
         loader.load(new URLRequest(elXML));
         loader.addEventListener(Event.COMPLETE, handleCompleted);
      }
      private function handleCompleted(event:Event):void {
         try {
            example = new XML(event.target.data);
            dispatchEvent(new Event("xmlCargado"));
            
         } catch(e:TypeError){
            trace("errorrrrrr");
            trace(e.message);
         }
      }
      public function get xmlDatos():XML{
                   return xml;
      }
   }
}


Clase que llama a CargarXML:

Código :

package clases{
   import flash.display.*;
   import flash.events.*;
   
   public class Paginacion extends Sprite {
      private var elXML:String = "xml/articulos.xml";
      private var cargoXML:CargarXML;
      
      public function Paginacion(){
         var cargoXML = new CargarXML(elXML);
         cargoXML.addEventListener("xmlCargado", mostrar);
      }
      private function mostrar(e:Event){

      trace(cargoXML.xmlDatos);
      
      }
   }
}


Mil gracias. Si pueden orientarme...

Por Helenaconhache

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Dic 2008 03:07 pm
has puesto DENTRO de la función Paginacion()

Código ActionScript :

var cargoXML=new CargarXML(elXML)

Al poner "var" haces que NO sea la variable cargoXML de la Clase Principal, sino una temporal que sólo tendrá valor dentro del Contructor (vamos, dentro de la función Paginacion) deberías poner

Código ActionScript :

cargoXML=new CargarXML(elXML) //<--sin "var"

Para que fuera la misma que declaras en la Clase Principal

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Dic 2008 03:16 pm
He necesitado una semana para salir de esta. Ahora tendrá que pasar otra semana para que se me quite la cara de gilipollas que se me ha quedado. No sabes hasta que punto me has ayudado. Gracias, muchas gracias, gracias...

Por Helenaconhache

3 de clabLevel



 

firefox

 

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