Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/12/2009, 13:07
diego1311
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: addEventListener + return

Ahora entiendo tu codigo es cierto lo que dices, pero tb tengo otro problema.

Mira este pequeño código que se tiene que pegar en el mismo documento .fla

Código:
var ArchivoXml:XML=new XML();
var UrlXml:URLLoader = new URLLoader();	
var si:Boolean=false;
var retardo:Timer = new Timer(1);
var Archivo:URLRequest = new URLRequest("datos.xml");  
UrlXml.load(Archivo);
UrlXml.addEventListener(Event.COMPLETE, Completado);

function Completado(event:Event):void
{
	ArchivoXml = new XML(UrlXml.data);
	si=true;
}

function Ver(event:TimerEvent):void
{
	if (si)
	{
		trace(ArchivoXml);
		retardo.stop();
	}
	else	
		trace("AUN NO");
	
}

retardo.addEventListener(TimerEvent.TIMER, Ver);
retardo.start();
Mientras el evento "load" no sea completado, muetra el mensaje "aun no", y cuando se comlpeta el evento, muestra el documento xml.

El problema es que si yo trato de acceder a la variable "ArchivoXml" antes de que el vento "load" se complete, no habrá respuesta. Y esto se resuelve con la función "completado" que accede a dicha variable justo cuando dicho evento se completa.

Mi pregunta es: Cómo puedo acceder a la variable "ArchivoXml" después de que el evento load se complete sin usar la funcion "completado"?

es decir sin usar
Código:
UrlXml.addEventListener(Event.COMPLETE, Completado);
He intentado poner un bucle que interrumpa las instrucciones hasta que se complete el evento "load" pero no logre nada.

Ahora, usando el timer podría lograr lo que quiero pero me parece una manera muy informal(aunque se pude), bueno si alguien sabe como se lo agaradeceré.

Última edición por diego1311; 30/12/2009 a las 13:15