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