Class proprietà non visualizzabili esternamente

alexbypa

Nuovo Utente
26 Gen 2005
1
0
0
Salve a tutti, ho il seguente problema, ho costruito una classe TypeMessage.as sottoclasse della XMLMessage.as, il mio intento è quello di incapsulare il comportamento dei messaggi XML inviati e ricevuti su un server che elabora asp.
In pratica la classe TypeMessage al momento in cui viene inizializziata crea il documento XML (proprietà rootMessage) che sarà quella che poi invio tramite il metodo SendMessage

questi sono i file:


XMLMessage.as
class XMLMessage extends XML
{
static var URL_Server:String = "http://localhost/server/sendxml.asp";

function XMLMessage()
{

}
}

questa è la sottoclasse:
TypeMessage.as
class TypeMessage extends XMLMessage
{
var rootMessage:XML;
var Message:XMLNode;
var Header:XMLNode;
var Body:XMLNode;
var XMLResponse:XML;
static var IDMessage:Number;

// elenco variabili private
private var idTmr;
private var cnt:Number;
// elenco variabili private

//nella funzione di costruzione mettiamo il valore in millisecondi nel messaggio TimeStamp
function TypeMessage()
{
var x = new XML;
var xel = new XMLNode;
var xel1 = new XMLNode;
IDMessage = 1;
xel = x.createElement("Message");
x.appendChild(xel);
rootMessage = x;
Message = xel;

xel1 = x.createElement("Header")
xel.appendChild(xel1);
Header = xel1;

xel1 = x.createElement("Body")
xel.appendChild(xel1);
Body = xel1;

AddHeaderTAG(rootMessage,Header,"MessageType","Init");
AddHeaderTAG(rootMessage,Header,"TimeStamp", GetTimeStamp());
AddHeaderTAG(rootMessage,Header,"ID", IDMessage);
}

private function AddHeaderTAG(l_Message, l_Header, nameTag, valueTag)
{
var tmpXML = new XML;
var texttmpXML = new XML;

tmpXML = l_Message.createElement(nameTag);
l_Header.appendChild(tmpXML);

texttmpXML = l_Message.createTextNode(valueTag);
tmpXML.appendChild(texttmpXML);
}

private function GetTimeStamp():String
{
var tm = new Date;
var str = new String;
str = String(tm.getHours()) + ":" + String(tm.getMinutes()) + ":" + String(tm.getSeconds()) + "." + String(tm.getMilliseconds());
return str;
}
function SendMessage(XMLElement:XML)
{

XMLResponse.onLoad = function(){trace("messaggio arrivato: " + XMLResponse)};
// XMLElement.sendAndLoad(URL_Server, XMLResponse)
// idTmr = setInterval(checkMessage, 100);
var xr = new XML();
xr.onLoad = function()
{
//XMLResponse = xr.cloneNode(true);
setResponse(xr);
trace("XML caricato: " + XMLResponse);
if (XMLResponse==null) {trace("XMLResponse è nullo")};
}
XMLElement.sendAndLoad("http://localhost/server/sendxml.asp", xr);
}
function setResponse(Doc:XML)
{
XMLResponse = Doc;
}
function getRespone():XML
{
return XMLResponse;
}
}

e questo il file che istanzia la classe TypeMessage, azioni sul fotogramma 1:
var msg = new TypeMessage;
msg.SendMessage(msg.rootMessage);

var idt;
idt = setInterval(checkM,2000);

function checkM()
{
trace(msg.getResponse());
}
Il mio problema è che anche se riesco a caricare la stringa di risposta dal server, la finestra di output mi dice che msg.GetResponse è undifined.
C'è quelche anima volenterosa che sa darmi la soluzione.
Grazie anticipatamente!
Alex
 

Discussioni simili