Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-01-2006, 11:50   #1 (permalink)
n00b
 
Registriert seit: Apr 2005
Ort: BÄRlin
Beiträge: 38
Question Problem mit function(){ return x;}

Holla zusammen,

ich habe ein kleines Problem: Ich habe eine Funktion, die per "xml.sendandload()" eine Aktion durchfürt. Sie erhält dann eine Rückgabe.
Soweit so gut, dass funktioniert.
Nun will ich diese Rückgabe per "return x;" an die Aufrufende Funktion zurückgeben. Das funktioniert leider nicht...

Selbst wenn ich "return x;" durch "return 1;" ersetzte kommt einfach nix zurück....

anbei die aufrufende Funktion und die, die das return produziert.

Funktion die das return gibt:
Code:
public function registrieren(nickname, password, vorname, nachname, email, newsletter){
// ------------- XML-generieren --------------------------
    xml.ignoreWhite = true;
    xml.contentType = 'text/html';
    xml.xmlDecl = '<?xml version="1.0" encoding="UTF-8"?>';
    
    var xmlUser = xml.createElement('xmlUser');
    var newUser = xml.createElement('newUser');
    newUser.attributes.nickname = nickname;
    newUser.attributes.password = password;
    newUser.attributes.vorname = vorname;
    newUser.attributes.nachname = nachname;
    newUser.attributes.email = email;
    newUser.attributes.newsletter = newsletter;
    xml.appendChild(xmlUser);
    xml.firstChild.appendChild(newUser);
    // -------------------------------------------------------
    xml.sendAndLoad(base_url + "f=5", xml, "POST");
    xml.onLoad = function(success) {
	if(!success) {
		this.firstChild.removeNode();
		return 0;
		}else {
		var p:Array = this.firstChild.childNodes;
		this.firstChild.removeNode()
		var x:Number;
		x = p[0].attributes["txt"];
		return 1;
		//trace ("test:  "+p[0].attributes["txt"]);
	}
    }
}

Funktion die Aufruft:
Code:
public function registrieren() {
		if (validate()) {
			var stat:Number 
			stat = _root.forum.registrieren(nickname.text, 
											  password.text, 
											  vorname.text, 
											  nachname.text, 
											  email.text, 
											  newsletter.hit
											  );
			trace ("stat: " + stat);
			switch (stat){
				case 1: 
					trace("name vergeben");
					break;
				case 2: 
					trace("okay");
					break;
				default:
					trace("nix angekommen");
			}
		}
	}


Vielen Dank schon mal fürs Anschauen,

Liebe Grüße, der Jörg

Geändert von Eisdealer (13-01-2006 um 11:51 Uhr)
Eisdealer ist offline   Mit Zitat antworten
Alt 13-01-2006, 12:11   #2 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
Das kann nicht klappen. Das onLoad findet ja irgendwann mal statt - also wenn alles geladen ist. Das bekommt Dein Funktionsaufruf nie mit.

Du könntest innerhalb des xml.onLoads einen Event abfeuern sobald alles geladen ist. Deine Klasse meldet sich dann als Listener an und reagiert dann.
__________________
---::::: AVisioN :::::---

Geändert von AVisioN (13-01-2006 um 12:12 Uhr)
AVisioN ist offline   Mit Zitat antworten
Alt 13-01-2006, 12:20   #3 (permalink)
n00b
 
Registriert seit: Apr 2005
Ort: BÄRlin
Beiträge: 38
Erledigt

Vielen Dank euch beiden für den Tip!!

Saß jetzt fast 3 Stunden dran und hab sowas befürchtet...

@AVisioN : Ich hab zwar langsam immer mehr Plan, und ich weiss auch wie ich ein auftretendes Event registriere, aber wie ich eins erzeuge ist mir nicht klar. Hast du vielleicht ein Stichwort dazu?


@hgseib : Ist ne else Klausel drin eingebaut. Habs leider falsch eingerückt...


Danke Jörg
Eisdealer ist offline   Mit Zitat antworten
Alt 13-01-2006, 12:30   #4 (permalink)
Custom Title
 
Registriert seit: Aug 2001
Beiträge: 467
PHP-Code:
import mx.events.EventDispatcher;

class 
Test{

    private var 
dispatchEvent:Function;

    public var 
addEventListener:Function;

    public var 
removeEventListener:Function;

    public function 
Test(){

        
EventDispatcher.initialize(this);

        
dispatchEvent({type:"onCreate"target:thissomething:"value"});

    }


Aus dem Kopf - also keine Garantie
__________________
---::::: AVisioN :::::---
AVisioN ist offline   Mit Zitat antworten
Alt 13-01-2006, 14:18   #5 (permalink)
n00b
 
Registriert seit: Apr 2005
Ort: BÄRlin
Beiträge: 38
Lightbulb

Okay habe einfach den eventListener vom xml.sendandload in die aufrufende funktion geschrieben. Hätte ich auch vorher drauf kommen könne.

Vielen Dank für den Support!!

Liebe Grüße, der Jörg
Eisdealer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele