yo trabajo frecuentemente con archivos xml siempre he tenido el siguiente inconveniente me sale el siguiente error;
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
el código esta bien si cargo las variables por un listener como mouse move y funciona pero; si deseo que las variables carguen cuando se carga correctamente el xml se presenta el el error
Código XML :
<?xml version="1.0" encoding="ISO-8859-1"?> <productos> <producto> <nombre>CERO</nombre> <imag>front.jpg</imag> </producto> <producto> <nombre>UNO</nombre> <imag>bottom.jpg</imag> </producto> </productos>
Código ActionScript :
package
{
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class xmlpru extends Sprite
{
private var textoo:TextField;
private var externalXML:XML;
function xmlpru():void {
Xmload();
}
public function Xmload():void {
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("productos01.xml");
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);
}
public function onComplete(event:Event):void{
var loader:URLLoader = event.target as URLLoader;
if (loader != null)
{
//////SI CARGA CORRECTAMENTE EL XML LLAMA A LA FUNCIÓN textl();
textl();
externalXML = new XML(loader.data);
trace(externalXML.toXMLString());
}
else
{
trace("loader is not a URLLoader!");
}
}
public function textl():void {
textoo = new TextField();
textoo.autoSize = TextFieldAutoSize.CENTER;
var format:TextFormat = new TextFormat();
format.font = "Verdana";
format.color = 0x28166f;
format.size = 20;
textoo.defaultTextFormat = format;
textoo.x = (stage.stageWidth / 2) - (textoo.width / 2);
textoo.multiline = true;
//ACÁ SE PRESENTA EL ERROR NO PUEDO CARGAR EL NODO QUE CONTIENE LA INFORMACION
textoo.htmlText = externalXML.producto[1].nombre.toString();
addChild(textoo);
}
}
}si llamo a la función (textl() ; ) con un mouse move funciona y carga correctamente e sorteado este inconveniente con un listener en mousemove y lo remuevo apenas se ejecuta, pero para el proyecto que estoy realizando necesito que cargue la información apenas se carga correctamente el xml;
es como si intentara cargar la informacion sin cargar el xml; pero como observan en el código en los comentarios solo cuando se ha cargado correctamente al xml llama a la función que usa la información del xml
Gracias de antemano
