Comunidad de diseño web y desarrollo en internet online

Algo que todavía no entiendo...

Citar            
MensajeEscrito el 08 Dic 2005 05:55 am
Hola.

En la función "metodo_Result = function (data)" ¿Por qué si asignas el data a una variable, al salir de la función, ésta deja de existir?

He probado a asignar el data a una variable de una clase y, ¡sólo se mantiene mientras dura la función!

A ver si alguien me lo puede explicar o, almenos, como remediarlo ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 08 Dic 2005 06:03 am
Eso tiene su nombre..."visibilidad de objetos" si mal no recuerdo ahora

Por Moothras

182 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 08 Dic 2005 02:51 pm
¿y cual es la solución? :_(

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 08 Dic 2005 07:06 pm
Escribenos aquí como asignas esa variable, y a que variable la asignas, osea muestranos un poco de tu codigo donde la tratas.

Otra cosa, ten en cuenta que al tratarse de un objeto el valor devuelto "data" si asignas sin mas, estas asignando una referencia a "data" no estás COPIANDO "data" en otro sitio, de modo que al finalizar la función de recogida "data" que es local a esta pues desaparece, y como solo tienes una referecia, digamos que te quedas apuntando a un sitio donde YA no hay nada.

Para que no te pase, y hagas una copia, inicializa la variable contenedora, y luego la asignas, es decir si es un Array, pues:

Código :


//Referencia, digamos un acceso directo al
//espacio de memoria de "data".

var mivar:Array = data.result;

//Copia, pero mira bien donde está definida tu 
//variable, es decir QUE no sea local a la misma 
//función, pues también desaparecería.

var mivar:Array = new Array(data.result);



Suerte...

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 08 Dic 2005 08:49 pm
Es decir:

Código :

var mivar:Number;
capturaRespuesta.metodo_Result = function (data){
     mivar=data;
}
serv.Datos();
trace(mivar); //imprime undefined
}



Declaro la variable fuera de la función y luego le asigno el valor, pero nada. ¿Con este mismo código, como se haría?

Saludos y gracias ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 09 Dic 2005 12:26 am
creo que es data.result , pero no estoy muy seguro, porque yo uso el remoting usando pending call y resultevent, y por ese metodo que llamas tu no sé si accedes directamente al valor de data. :S

En teoría está bien como lo haces....

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 09 Dic 2005 04:30 am
Es cierto que he visto varios modos de recoger y enviar valores utilizando AMFPHP... ¿Sabes cual es el mejor método o donde encontrar info al respecto?

Saludos y gracias ^^

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera

 

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