Flash: proprietà di classe...

Di: alexbypa | 26/09/2020 18:10:25
Proprietà di classe non visualizzabili esternamente.
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 su un server che elabora asp.
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'è qualche anima volenterosa che sa darmi la soluzione.
Grazie anticipatamente!
Alex

Risposte


Nessuna risposta trovata!