Comunidad de diseño web y desarrollo en internet online

Problema en una class

Citar            
MensajeEscrito el 21 Ene 2006 01:02 am
Buen dia a Todos!!!

Estoy haciendo una classe que me permite crear un MC vacio en el cual me va a guardar una imagen y los datos de autor, fecha, categoria, sector; toda la informacion esta en una base de datos incluso la url del archivo que se va a cargar en la MC.

Este es el codigo que llevo:

Código :

//Filename folio.as

class folio{
   var mc_folio:MovieClip;
   var mcLoader:MovieClipLoader;
   var codigo:Number;
   var cliente:String;
   var categoria:String;
   var sector:String;
   var fecha:String;
   var archivo:String;
   var send_vars:LoadVars;
   var enter_vars:LoadVars;
   var param_interval:Number;
   
   //FUNCION CONSTRUCTORA
   function folio(movie:MovieClip)
   {
   this.mc_folio=movie;
   this.mc_folio.createEmptyMovieClip("ventana_"+this.mc_folio.getNextHighestDepth(),this.mc_folio.getNextHighestDepth());
   }
   
   function crearFolio()
   {
      //Consultar Variables
      this.send_vars=new LoadVars();
      this.enter_vars=new LoadVars();
      this.send_vars.posicion="0";
   
      this.send_vars.sendAndLoad("consulta_folio.php",this.enter_vars,"POST");
      this.param_interval = setInterval(this.checkParamsLoaded, 500);   
      
      //mostrar datos preliminares
      //cargador de pelicula
      //mcLoader.loadClip("url",mc_folio);
      //mostrar datos finales
   }
   
   //FUNCION QUE REVISA LA DESCARGA DE LA INFORMACION
   function checkParamsLoaded()
   {
      trace(this.enter_vars.toString())
      trace(this.enter_vars.done);

      if (this.enter_vars.done == undefined)
      {
         trace("Aun no!.");
      }
      else{
         trace("Descarga Finalizada. Terminando Intervalo.");
         trace("------------------------------------------");
         for (var i in this.enter_vars)
         {
            trace(i+": "+this.enter_vars[i]);
         }
         trace("------------------------------------------");
         
         //ASIGNA LOS VALORES DE LOADVARS A SUS RESPECTIVAS VARIABLES
         this.codigo=this.enter_vars.codigo;
         this.cliente=this.enter_vars.cliente;
         this.categoria=this.enter_vars.categoria;
         this.sector=this.enter_vars.setor;
         this.fecha=this.enter_vars.fecha;
         this.archivo=this.enter_vars.archivo;
         
         //TERMINA EL INTERVALO
         clearInterval(param_interval);
      } 
   }   
}

El Problema esta en la funcion "checkParamsLoaded", que la he probado fuera de una clase con exito.

el archivo "consulta_folio.php" devuelve el valor:

codigo=1&categoria="A"&setor="B"&cliente="C"&fecha="ENERO 2006"&archivo="imagen01.gif"&done="done"

Agradezco toda la ayuda que puedan.

Por diegoluisr

35 de clabLevel



 

Armenia, Quindio

firefox
Citar            
MensajeEscrito el 21 Ene 2006 06:08 am
intenta crear una nueva function :

Código :

parametersAreOk(Void):Void
  {
     clearInterval(this.param_interval); 

  }


y haces un call el final del if

Por geronimo

65 de clabLevel



Genero:Masculino  

mozilla
Citar            
MensajeEscrito el 21 Ene 2006 03:39 pm
Gracias Geronimo, ya lo intente y no funcion.
Mirando la peliculo en modo Debug encontre que aunque haga una asignacion de valores a la variable enter_vars sus valores no son persistentes en toda la clase, aparentemente la varible enter_vars se reinicia en la funcion checkParamsLoaded.

Aqui muestro el cambio que hice:

Código :

   function checkParamsLoaded()
   {
      trace(this.enter_vars.toString())
      trace(this.enter_vars.done);

      if (this.enter_vars.done == undefined)
      {
         trace("Aun no!.");
      }
      else{
         trace("Descarga Finalizada. Terminando Intervalo.");
         trace("------------------------------------------");
         for (var i in this.enter_vars)
         {
            trace(i+": "+this.enter_vars[i]);
         }
         trace("------------------------------------------");
         parametersAreOk();
         
         this.codigo=this.enter_vars.codigo;
         this.cliente=this.enter_vars.cliente;
         this.categoria=this.enter_vars.categoria;
         this.sector=this.enter_vars.setor;
         this.fecha=this.enter_vars.fecha;
         this.archivo=this.enter_vars.archivo;
         
      } 
   }   
   
   function parametersAreOk():Void
   {
       clearInterval(this.param_interval);
   }

Por diegoluisr

35 de clabLevel



 

Armenia, Quindio

firefox
Citar            
MensajeEscrito el 21 Ene 2006 04:27 pm

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 27 Ene 2006 01:54 am
Bueno, hice lo que zah me sugirio, pero aun no funciona. Lei en un sitio que puede ser por el Sandbox de flash. Alguiesn sabe como configurarlo?

Por diegoluisr

35 de clabLevel



 

Armenia, Quindio

firefox
Citar            
MensajeEscrito el 27 Ene 2006 08:27 am
this.param_interval = setInterval(this.checkParamsLoaded, 500,this);

ese es el camino...

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox

 

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