RE: [asnativos] problema con scope de variable en clase

2006-05-06 Por tema Hari Seldon
Hector, si revisas el histórico de la lista (no se si ya se puede...
Pero si llevas un poquito de tiempo en la lista, digamos 8-12 meses), verás
que hay algún debate de ventajas y desventajas del Delegate, y qué hace
exactamente.

Si no puedes revisar los antiguos correos, intento enviártelos yo o
algo.

Un saludo. 



De: asnativos@5dms.com [mailto:[EMAIL PROTECTED] En nombre de Hector
Centeno
Enviado el: sábado, 06 de mayo de 2006 6:22
Para: asnativos@5dms.com
Asunto: Re: [asnativos] problema con scope de variable en clase


Solo para agradecer la ayuda, Xavi, gracias no tenia idea de la existencia
de Delegate, aunque aun no lo alcanzo a comprender del todo, según entiendo,
basicamente se trata de no perder el scope en el que opera la función (en
este caso el metodo) de esta forma la función sabe de la existencia de la
clase y sus variables, estoy en lo correcto ?

Tambien gracias a David tu idea tambien me ha hecho conocer otra cosa que no
sabia. Aun no entiendo bien esto de la oop y esta es mi primera clase.

Jose Tomas, gracias por el code, de momento me queda un poco corta pero esta
bastante bien ;) gracias

Saludos.

David Millán Escrivá wrote: 

Me gusta más la contestación que ha dado Xavi.

David Millán Escrivá escribió: 

El problema está en que haces referencia alistadoCompleto
con this.listadoCompleto, y no desde la clase, sino dentro de la funcion del
clip textfield_txt, y en esa funcion this hace referencia no a la clase si
no a textfield_txt, prueba a crear dentro de textfield_txt una variable más
tipo ref que apunte a la clase, y podrás acceder a ella, mejor te reescribo
la funcion y lo entenderás mejor ya que me explico fatal.En rojo lo añadido.


public function setTextListener(textfield_txt:TextField){ 
   textfield_txt.ref=this;
   textfield_txt.onChanged =
function(textfield_txt:TextField) { 
   textoContenido=textfield_txt.text; 
   trace(New value is: +textoContenido); 
   trace(this.ref.listadoCompleto); 
   trace(___); 
   for (y=0;ythis.ref.listadoCompleto.length; y++){

   trace(a); 
   } 
   }; 
   } 


Hector Centeno escribió: 

Estoy construyendo una clase pero tengo un problema
con una variable, la clase estas así: 

class autoComplete { 
   public var listadoCompleto:Array; 
   public var campoTextoStage:TextField; 
   private var x:Number; 
   private var y:Number; 
   private var listadoArray:Array; 
 var textoContenido:String; 
   var subString:String; 
 function autoComplete(){ 
   trace(objeto creado); 
   this.listadoCompleto= Array(); 
   } 
 public function
setTextListener(textfield_txt:TextField){ 
   textfield_txt.onChanged =
function(textfield_txt:TextField) { 
   textoContenido=textfield_txt.text; 
   trace(New value is: +textoContenido); 
   trace(this.listadoCompleto); 
   trace(___); 
   for (y=0;ythis.listadoCompleto.length;
y++){ 
   trace(a); 
   } 
   }; 
   } 
   public function set listado(listadoA:Array){ 
   this.listadoCompleto=listadoA; 
   trace(LL:: +this.listadoCompleto); 
   } 
   public function set
campoTexto(campoText:TextField){ 
   this.campoTextoStage=campoText; 
   setTextListener(this.campoTextoStage); 
   } 
  } 


En el metodo setTextListener no tengo acceso a la
variable (array) listadoCompleto, alguien sabe por que ? alguna sugerencia
para hacerlo mejor ? 

Gracias por la ayuda 




-- 
ASNativos 

Re: [asnativos] problema con scope de variable en clase

2006-05-06 Por tema Hector Centeno
Gracias Hari, si tengo tiempo en la lista pero recientemente perdi mi 
backup como sea lo inventigare por mi cuenta gracias...


Hari Seldon wrote:

Hector, si revisas el histórico de la lista (no se si ya se puede...
Pero si llevas un poquito de tiempo en la lista, digamos 8-12 meses), verás
que hay algún debate de ventajas y desventajas del Delegate, y qué hace
exactamente.

Si no puedes revisar los antiguos correos, intento enviártelos yo o
algo.

	Un saludo. 




De: asnativos@5dms.com [mailto:[EMAIL PROTECTED] En nombre de Hector
Centeno
Enviado el: sábado, 06 de mayo de 2006 6:22
Para: asnativos@5dms.com
Asunto: Re: [asnativos] problema con scope de variable en clase


Solo para agradecer la ayuda, Xavi, gracias no tenia idea de la existencia
de Delegate, aunque aun no lo alcanzo a comprender del todo, según entiendo,
basicamente se trata de no perder el scope en el que opera la función (en
este caso el metodo) de esta forma la función sabe de la existencia de la
clase y sus variables, estoy en lo correcto ?

Tambien gracias a David tu idea tambien me ha hecho conocer otra cosa que no
sabia. Aun no entiendo bien esto de la oop y esta es mi primera clase.

Jose Tomas, gracias por el code, de momento me queda un poco corta pero esta
bastante bien ;) gracias

Saludos.

David Millán Escrivá wrote: 


Me gusta más la contestación que ha dado Xavi.

	David Millán Escrivá escribió: 


El problema está en que haces referencia alistadoCompleto
con this.listadoCompleto, y no desde la clase, sino dentro de la funcion del
clip textfield_txt, y en esa funcion this hace referencia no a la clase si
no a textfield_txt, prueba a crear dentro de textfield_txt una variable más
tipo ref que apunte a la clase, y podrás acceder a ella, mejor te reescribo
la funcion y lo entenderás mejor ya que me explico fatal.En rojo lo añadido.


		public function setTextListener(textfield_txt:TextField){ 
		   textfield_txt.ref=this;

   textfield_txt.onChanged =
function(textfield_txt:TextField) { 
		   textoContenido=textfield_txt.text; 
		   trace(New value is: +textoContenido); 
		   trace(this.ref.listadoCompleto); 
		   trace(___); 
		   for (y=0;ythis.ref.listadoCompleto.length; y++){


		   trace(a); 
		   } 
		   }; 
		   } 
		


		Hector Centeno escribió: 


Estoy construyendo una clase pero tengo un problema
con una variable, la clase estas así: 
			
			class autoComplete { 
			   public var listadoCompleto:Array; 
			   public var campoTextoStage:TextField; 
			   private var x:Number; 
			   private var y:Number; 
			   private var listadoArray:Array; 
			 var textoContenido:String; 
			   var subString:String; 
			 function autoComplete(){ 
			   trace(objeto creado); 
			   this.listadoCompleto= Array(); 
			   } 
			 public function
setTextListener(textfield_txt:TextField){ 
			   textfield_txt.onChanged =
function(textfield_txt:TextField) { 
			   textoContenido=textfield_txt.text; 
			   trace(New value is: +textoContenido); 
			   trace(this.listadoCompleto); 
			   trace(___); 
			   for (y=0;ythis.listadoCompleto.length;
y++){ 
			   trace(a); 
			   } 
			   }; 
			   } 
			   public function set listado(listadoA:Array){ 
			   this.listadoCompleto=listadoA; 
			   trace(LL:: +this.listadoCompleto); 
			   } 
			   public function set
campoTexto(campoText:TextField){ 
			   this.campoTextoStage=campoText; 
			   setTextListener(this.campoTextoStage); 
			   } 
			  } 
			


En el metodo setTextListener no tengo acceso a la
variable (array) listadoCompleto, alguien sabe por que ? alguna sugerencia
para hacerlo mejor ? 
			
			Gracias por la ayuda 
			




			-- 
			ASNativos 
			www.5dms.com/listas 
			--- 
			








		-- 
		


		 

		 

		 

		 


Artres Comunicación Valencia, Sociedad Limitada.
Calle Reina Doña Germana, 10, puerta 3.
Tel. 963 330 407 // Fax: 963 330 805
		E-mail: [EMAIL PROTECTED] 


AVISO: Este mensaje electrónico, así como cualquier
documento adjunto, es para uso exclusivo del destinatario (s) especificado,
pudiendo contener información privilegiada, protegida o confidencial que no
necesariamente refleja la opinión de la empresa. Si recibe este mensaje por
error, le rogamos nos lo comunique inmediatamente por la misma vía o por
teléfono (+34 963 330 407) y lo elimine de su ordenador, ya que usted no
está