Foros del Web » Creando para Internet » Flash y Actionscript »

Acceder a un array

Estas en el tema de Acceder a un array en el foro de Flash y Actionscript en Foros del Web. Hola gente!! A ver si me podeis echar una mano Tengo un componente que tiene varias variables entre ellas: var ModoOP; var ModoOpZona = new ...
  #1 (permalink)  
Antiguo 07/02/2006, 10:09
 
Fecha de Ingreso: enero-2006
Mensajes: 7
Antigüedad: 18 años, 2 meses
Puntos: 0
Acceder a un array

Hola gente!! A ver si me podeis echar una mano

Tengo un componente que tiene varias variables entre ellas:

var ModoOP;
var ModoOpZona = new Array(2);

Asigno correctamente todos esos datos.

El problema es que cuando quiero acceder a ellos desde fuera del componente tengo problemas con el Array.

Tengo un cuadro de Texto asignado como Texto Dinamico y quiero acceder a esas variables. Cuando en las propiedades en var pongo ModoOP me coje el valor correctamente.
Pero no hay forma de que me coja bien el valor de ModoOpZona[1]

A ver si me dais alguna idea (si me he explicado mal lo decis)

Gracias
  #2 (permalink)  
Antiguo 07/02/2006, 13:47
Avatar de Prince  
Fecha de Ingreso: mayo-2003
Ubicación: DF
Mensajes: 574
Antigüedad: 20 años, 11 meses
Puntos: 1
Mmm... ya le asignaste valores al arreglo???
porque así como lo pones sin asignarle valores te saldría "undefined", aunque le hayas dicho que el arreglo es de longitíd 2
__________________
- P R I N C E -
  #3 (permalink)  
Antiguo 07/02/2006, 13:54
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Pega todo el codigo que tengas aki a ver si asi podemos ayudarte mejor

  #4 (permalink)  
Antiguo 08/02/2006, 04:13
 
Fecha de Ingreso: enero-2006
Mensajes: 7
Antigüedad: 18 años, 2 meses
Puntos: 0
Este es el codigo de mi componente

Código:
this._visible = false;

var ModoOP;
var ModoOpZona = new Array(numZonas);
var TempAmbienteZona = new Array(numZonas);
var TempConsignaZona = new Array(numZonas);

function connect () {
	mySocket = new XMLSocket();
	mySocket.onConnect = handleConnect;
	mySocket.onClose = handleClose;
	mySocket.onXML = handleIncoming;
    // specify your server and port number here
	if (!mySocket.connect(host, 2332)) 
		setError("Host inaccesible");
	mySocket.host = host;
	mySocket.port = port;
}

function handleConnect (succeeded) {
	if(succeeded) {
		mySocket.connected = true;
		trace("Conectado!!!!");
	} else {
		setError("No se ha podido conectar con el servidor");
	}
	
}

// *** event handler called when server kills the connection
function handleClose () {
	mySocket.connected = false;
	numClients = 0;
}

function handleIncoming(messageObj){
	trace("Recibido: "+messageObj);

	switch(messageObj.firstChild.nodeName){
		case "SERVER" : {Operacion = messageObj.firstChild.childNodes[0].firstChild.nodeValue;
			if(Operacion == "Tipo"){
				sendMessage("<SERVER><OPERACION>AZ</OPERACION></SERVER>");
			}
			break;}
		case "AZ" : {
			ModoOP = Number(messageObj.firstChild.childNodes[0].childNodes[0].nodeValue);
			trace("ModoOP = "+ModoOP);
			for(i=0;i<ModoOpZona.length;i++){
				ModoOpZona[i] = messageObj.firstChild.childNodes[1].childNodes[i].childNodes[0].nodeValue;
				trace("ModoOpZona["+i+"] = "+ModoOpZona[i]);
			}
			for(i=0;i<TempAmbienteZona.length;i++){
				TempAmbienteZona[i] = Number(messageObj.firstChild.childNodes[2].childNodes[i].childNodes[0].nodeValue);
				trace("TempAmbienteZona["+i+"] = "+TempAmbienteZona[i]);
			}
			for(i=0;i<TempConsignaZona.length;i++){
				TempConsignaZona[i] = Number(messageObj.firstChild.childNodes[3].childNodes[i].childNodes[0].nodeValue);
				trace("TempConsignaZona["+i+"] = "+TempConsignaZona[i]);
			}
			break;}
		}

}

// *** sends a new xml object to the server
function sendMessage(message) {
															messageObj = new XML();
	messageObj.parseXML(message);
	
	if (mySocket && mySocket.connected) {
		mySocket.send(messageObj);

	} else {
		trace("MENSAJE NO ENVIADO");
	}
}

function setError(cad){
	error = cad;
	_parent.AirZoneCausaError = error;
	_parent.gotoAndPlay("AZError");
}
}

Es un servidor de XMLSockets. Se conecta al servidor, el servidor le pide el tipo de dispostivo que es y el se lo manda (case "SERVER")
Luego recibe del servidor una trama con el estado general del dispositivo (aire acondicionado en este caso) y rellena los datos que defino arriba. Todos los datos los rellena correctamente.

En la aplicacion Flash tengo ese componente y como nombre AZ. Luego tengo varios campos de textos que intentan acceder a cada una de las variables del componente.

Para acceder a ellos los pongo como texto dinamico y en la propiedad var pongo:
AZ.ModoOP para acceder a ModoOP (este dato lo coje perfecto)
AZ.ModoOpZona[0] para acceder a ese dato pero este no me lo coje, ni siquiera me pone undefined, simplemente no me coje nada y ese es el problema

Espero que esta vez me haya explicado mejor

Última edición por samuel82; 09/02/2006 a las 04:11
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:38.