Matze: Flash - Klassen-Eigenschaft liefert immer null

Beitrag lesen

Hallo!

Ich versuche mit ActionScript eine XML-Datei auszulesen (was auch funktioniert) und zu verarbeiten. Leider liefert mir meine Klasse immer null als Wert.
Geb ich die Variable aber in der Klasse selbst aus, stimmt der Inhalt.
Woran liegt das?

Hier der Code der Klasse:

package com {  
	  
    import flash.display.MovieClip;  
    import flash.net.URLLoader;  
    import flash.events.Event;  
    import flash.net.URLRequest;	  
	  
    public class readXMLFile {  
		  
        private var contentXMLUrl:String = "myxml.xml";  
        public var XMLContent:XMLList;  
		  
        public function readXMLFile() {  
            var xmlLoader:URLLoader = new URLLoader();  
            xmlLoader.addEventListener(Event.COMPLETE, XMLloaded);  
            xmlLoader.load(new URLRequest(contentXMLUrl));  
        }  
		  
        private function XMLloaded(e:Event):void {  
            var XMLRes:XML = new XML(e.currentTarget.data);  
            XMLRes.ignoreWhite = true;  
            // nur Elementbaum mit "myElements"  
            this.XMLContent = XMLRes.myElements;  
            // gibt mir die XMLListe aus - das klappt hier  
            trace(this.XMLContent);  
        }		  
    }	  
}

So wird die Klasse aufgerufen:

import com.readXMLFile;  
  
var foo:readXMLFile = new readXMLFile();  
// hier bekomme ich null als Wert  
trace(foo.XMLContent);

Was mich auch verwundert, ist die Reihenfolge der Ausgaben.
Zuerst bekomme ich null vom zweiten trace() (also trace(foo.XMLContent), danach die gewünschte XML-Liste (von trace(this.XMLContent); in der Klasse).

Meines Verständnisses nach sollte aber erst der Teil in der Klasse ausgeführt werden, dann erst die Abfrage nach dessen Eigenschaften.

Wo liegt hier mein Fehler?

Danke und Grüße, Matze