Ciao a tutti,
Il mio problema è il seguente:
ho dei dati organizzati un file xml, ho quindi l'esigenza di caricare i suddetti dati per poterli utilizzare nella mia applicazione; di conseguenza ho creato una classe che gestisce appunto le operazioni di estrapolazione di dati dal file xml.
Per essere più chiaro il codice actionscript nel mio stage è il seguente:
il metodo apriXML restituisce un array che contiene i dati del file xml.Codice PHP:import navigazioneXML; // è la classe di cui ho appena parlato
var rosa : Array = navigazioneXML.ApriXML("Italia");
trace(rosa.length);
Questo è un estratto di quello che faccio nel metodo ApriXML:
La funzione Dati richiamata nel listener si occupa realmente di recuperare i dati di inserirli in un array e di ritornare lo stesso.Codice PHP:public static function ApriXML(nazione:String):Array {
filexml = "C:/Users/William Lawson/Documents/Università/ppm/Progetto PPM/Contents/xml/"+nazione+".xml";
rosa = new Array(); //attributo di classe
myarray = new Array(); //attributo di classe
mioxml = new XML(); //attributo di classe
mioxml.load(filexml);
mioxml.onLoad = function(success) {
if (mioxml.loaded) {
myarray = mioxml.childNodes;
rosa = Dati();
}
};
return rosa;
Ora il problema è: quando viene eseguita l'istruzione load dell'oggetto mioxml, si entra nel blocco del listener, ma suppongo che questo venga eseguito "in contemporanea" con il blocco della funzione; ho ragione di credere questo perchè il trace contenuto nello livello actionscript dello stage(primo blocco di codice) mi stampa 0(vettore vuoto)![]()
C'è un modo per risolvere questo inconveniente( uso actionscript2).
Grazie in anticipo.
Ciao

,
Rispondi quotando