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:
Codice PHP:
import navigazioneXML// è la classe di cui ho appena parlato
var rosa : Array = navigazioneXML.ApriXML("Italia"); 
trace(rosa.length); 
il metodo apriXML restituisce un array che contiene i dati del file xml.
Questo è un estratto di quello che faccio nel metodo ApriXML:


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
La funzione Dati richiamata nel listener si occupa realmente di recuperare i dati di inserirli in un array e di ritornare lo stesso.
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