Comunidad de diseño web y desarrollo en internet online

Ayuda con dispatchEvent

Citar            
MensajeEscrito el 27 Sep 2011 10:45 pm
Se que no es lo correcto pero pongo el codigo para simplificar (apenas estoy comprendiendo lo de las clases)


Tengo una funcion (o clase) que lee datos de PHP para varios archivos y obtengo una cadena como resultado. Ese resultado lo quiero almacenar en una variable para despues usarlo y mostrarlo en un Text Field.
Pero necesito usarlo mostralo despues de que se haya cargado y tengo entendido que como tengo los codigos esta incorrecto por que tengo que esperar a que le obtengan los datos

Bueno les dejo el codigo


Código ActionScript :

function leerPHP(archivo:String):void {
   archivo = "php/" + archivo;
   var loader:URLLoader = new URLLoader();
   var resultado:String  = new String();
   loader.dataFormat = URLLoaderDataFormat.VARIABLES;

   loader.load(new URLRequest(archivo));
   loader.addEventListener(Event.COMPLETE, loadComplete);

   function loadComplete(e:Event) {
      resultado = e.target.data.cadena;
      //si lo imprimo aqui "texto.text = e.target.data.cadena;" si aparece;
      //  tengo entendido que debo poder un dispatchEvent pero aun no entiendo como 
   }
   
}


y tengo

Código ActionScript :

var estados:String = leerPHP("estados.php");
texto.text = estados;//Aqui no aparece

Por eder

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Sep 2011 11:33 pm
A ver... Si tienes todo en una sola clase, ignora mi comentario.. pero si tienes dos clases:
-Main
-PHP

y Main adentro tiene un PHP y un Texto, para poder enviar información al Main desde el objeto PHP la forma más correcta sería dispachando un evento con la información del mismo... pero si estas arrancando prueba de esta otra forma:
En el PHP, en loadComplete hace esto:
resultado = e.target.data.cadena;
dispatchEvent(new Event(Event.COMPLETE));

Y en el main para detectar esto, debajo de la creación del objeto PHP agrega:
php.addEventListener(Event.COMPLETE, onCompletePHP);

y una función:
private function onCompletePHP(e:Event):void {
//y aqui si quieres te metes al php, escribiendo algo como php.resultado, y haces lo que quieras con el
}

Por lucasmoyano

Claber

1960 de clabLevel

22 tutoriales

Genero:Masculino  

Developer

chrome
Citar            
MensajeEscrito el 20 Oct 2011 10:48 pm

lucasmoyano escribió:

A ver... Si tienes todo en una sola clase, ignora mi comentario.. pero si tienes dos clases:
-Main
-PHP

y Main adentro tiene un PHP y un Texto, para poder enviar información al Main desde el objeto PHP la forma más correcta sería dispachando un evento con la información del mismo... pero si estas arrancando prueba de esta otra forma:
En el PHP, en loadComplete hace esto:
resultado = e.target.data.cadena;
dispatchEvent(new Event(Event.COMPLETE));

Y en el main para detectar esto, debajo de la creación del objeto PHP agrega:
php.addEventListener(Event.COMPLETE, onCompletePHP);

y una función:
private function onCompletePHP(e:Event):void {
//y aqui si quieres te metes al php, escribiendo algo como php.resultado, y haces lo que quieras con el
}


Antes que nada lucasmoyano muchas muchas gracias lo probe y me quedo muy bien.
Despues de poner esta pregunta se quedo detendio el proyecto y hace unos dias regreso y probe el codigo y me funciono de maravilla...

Muchas gracias lucasmoyano y perdon por agradecerte tan tarde.

Por eder

10 de clabLevel



 

chrome

 

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