Comunidad de diseño web y desarrollo en internet online

duda con el ambito

Citar            
MensajeEscrito el 11 Ene 2006 12:36 pm
hola, estoy con un flash q lee un xml. Con la información que leo construyo un objeto, la cosa es no cosigo sacar ese objeto del ambito del onload del xml.

lo explicare con el siguiente codigo que le pasa lo mismo, la variable hola, se modifica en el ambito del onload, por lo que no se ve reflejada fuera:

var hola:String ="mal";
xml.load("esc.xml");
xml.onLoad = function(exito){
if (exito){
hola="bien";
} else {
trace("problemo!!");
}
}
trace(hola); // Salida del trace: mal

Alguien me puede decir como solucionarlo?? toi ya de los nervios :D

Por bishou

29 de clabLevel



 

msie
Citar            
MensajeEscrito el 11 Ene 2006 01:59 pm
No es un problema, sino que el trace que esta fuera del onLoad se ejecuta primero que ese evento, ya que este se ejecutará luego de haber cargado el xml :P , te puede asegurar que sí haces esto

Código :

var hola:String ="mal";
xml.load("esc.xml");
xml.onLoad = function(exito){
if (exito){
hola="bien";
trace(hola);
} else {
trace("problemo!!");
}
}
trace(hola); // Salida del trace: mal 



La ventana de salida te mostrará:
mal
bien


Claro si se cargo bien.

saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

netscape
Citar            
MensajeEscrito el 16 Ene 2006 12:12 pm
hola, siento haber tardado tiempo en responder pero es que en el trabajo me pusieron con otro tema y no he tenido tiempo para esto del XML.

Vamos a ver, lo que Maikel dice es cierto, si lo imprimo dentro tiene el valor correcto. Pero, lo que quiero conseguir es que ese valor lo tenga fuera de la función de carga del XML.

En el ejemplo lo que qiero conseguir es que el valor que le doy a hola, sea permanente tras la carga del xml, para poder tener acceso a el en cualquier momento sin tener que volver a cargar el xml.

alguien me da una solucion??

Por bishou

29 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Ene 2006 08:00 pm
Despues que se cargue el xml puedes tener acceso a la modificacion de esa variable donde quieras :P , antes no.

Si quieres prueba con esto, pon un boton cualquiera en el escenario con nombre de instancia btn y pones este codigo

Código :

var hola:String ="mal";
var xmlCargado:Boolean = false;
var xml:XML = new XML();

xml.load("esc.xml");
xml.onLoad = function(exito:Boolean){
   if (exito){
      hola="bien";
      xmlCargado= true;
      trace(hola);
   } else {
      trace("problemo!!");
   }
}
btn.onRelease = function (){
   (xmlCargado)?trace(hola):trace("xml no ha sido cargado aun");
}


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

netscape

 

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