Anfänger: Funktionen in AS

drizzt_1

Grünschnabel
Hallo,

ich arbeite mich gerade in Actionscript ein und verstehe als Java Programmierer die
Syntax mit den funtions nicht.
Ich habe flg. kleines Beispiel:
var myXML:XML =new XML();
trace("Start");
myXML_xml.onLoad=geladen;
myXML_xml.ignoreWhite=true;
myXML_xml.load("fotos.xml");
trace("Ende");

function geladen(erfolgreich:Boolean):Void
{
if(erfolgreich)
{
trace("geladen-"+this.loaded);
trace("has child nodes-"+this.hasChildNodes());
trace ("status-"+this.status);
}
else
{trace ("Fehler");}
}

Dieses Beispiel ist aus einem Buch entnommen.
Es geht mir um die function geladen. Die enthält einen Parameter erfolgreich.
in der Zeile
myXML_xml.onLoad=geladen;
wird diese Funktion aufgerufen allerdings ohne Parameter.
Frage : Wer belegt den Parameter mit einem Wert?
Frage :Wie ist der Aufruf wenn die Funktion geladen 2 Parameter enthalten würde?

Dieses Actionscript gibt nur Start und Ende aus, obwohl ich eine Meldung aus dem If oder Else Zweig erwarten würde.

Wo ist mein Denkfehler?

mfg. Roland
 
Hi,

die Funktion "geladen" wird zwar aufgerufen, aber nicht als Member des XML-Objektes (daher kannst Du dort per "this" nicht auf das XML-Objekt zurückgreifen). Probiers so:
Code:
myXML_xml.onLoad = function(success) {
  if (success) {
    verarbeiten(this);
  } else {
    trace("Ladefehler");
  }
}

function verarbeiten(obj) {
  trace(obj.childNodes);
}

Gruß
.
 

Neue Beiträge

Zurück