Comunidad de diseño web y desarrollo en internet online

Pasar el contenido de un array?

Citar            
MensajeEscrito el 02 Sep 2010 03:11 pm
Hola!

Tengo una clase que contiene los resultados de un XML y los he metido en un array.
Cómo puedo hacer usar el contenido resultado de ese array desde otra clase?
Puedo pasar el parámetro pero no encuentro la manera de pasar el contenido de ese array.

Gracias!

Por truenillot

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Sep 2010 03:49 pm
Lo primero es establecer un vínculo entre esas clases (alcance o scope), por ejemplo si están atadas a dos MC que comparten el escenario, o son instanciadas en el mismo timeline, etc

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 Sep 2010 03:49 pm
La solución más sencilla es hacer que ese array sea public y así podrás acceder a los datos, pero si ya te has currado una clase en la que va a gestionar los datos del xml, para mantener una buena encapsulación es mejor que siga siendo privado y que crees un método para acceder a cada uno de los elementos del array.

Código ActionScript :

public function getElement(index:int):String
{
   return xmlArray(index);
}

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2010 06:13 pm
Saludos!

El problema que tengo exactamente es el siguiente:

mi código llama a una clase donde hay un array llamado "miResultado" que es el siguiente:
//
var funcionXml:FuncionXml= new FuncionXml(dondeXML);
trace(funcionXml.miResultado);
//
La clase a la que llama tiene una función que recorre un XML y lo mete dentro de este array, pero no hay manera de llamarlo, el resultado del trace es "null";

Por truenillot

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Sep 2010 06:20 pm
La verdad es que no entiendo lo que pretendes hacer.
Si lo que quieres es asignar a la variable "miResultado" los valores de tu xml, entonces no te hace falta la variable "miArray", con estos cambios funcionará (suponiendo que el trace te esté dando una salida correcta):

Código ActionScript :

miResultado=new Array(); //var miArray:Array=new Array();
miResultado.push(enIdi2); //miArray.push(enIdi2);
trace(miResultado); //trace(miArray);

Al ser miResultado una propiedad pública ya puedes acceder a ella desde la instancia que crees en la otra clase.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2010 06:31 pm
Ok! Esta parta ya está hecha, lo he modificado y funciona.
Ahora solo me falta acceder a ella desde otra clase para utilizar el resultado.

Gracias!

Por truenillot

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Sep 2010 07:10 pm
Pues ahora el problema es que cuando intentas acceder a los datos del array desde la otra clase todavía no se han cargado, y por eso te da como resultado null.
Para solucionarlo tienes que disparar un evento dentro de la función callback del evento complete, y en la clase donde creas la instancia de FuncionXml le añades un listener, de modo que hasta que no se acabe de leer el xml no lo asignarás a la variable de tu nueva clase. Como he visto que tu clase FuncionXml extiende a MovieClip no tendrás problemas en usar dispatchEvent para disparar el evento.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2010 07:24 pm
Ok, gracias! Voy a probarlo a ver que tal se me da.

Por truenillot

8 de clabLevel



 

firefox

 

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