| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| life is a flash Registriert seit: Oct 2002 Ort: Wien
Beiträge: 172
| Array zurückgeben
_root.array1 = new Array(); _root.array1 = ArrayZuweisen(); trace("Array1: "+_root.array1); function ArrayZuweisen(){ array2 = new Array();} -------- Gibt aus: Array1: undefined Array2: Arrayinhalt Ich schaffs nicht das 2. Array dem ersten zuzuweisen. Mich wunderts, warum ich als erstes "undefined" von Array1 und dann Array2 ausgegeben bekomme - da stimmt die Reihenfolge im Ablauf nicht, oder? |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
konfizius sagt: wo nichts drinn ist kann auch nichts rauskommen ActionScript:
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| life is a flash Registriert seit: Oct 2002 Ort: Wien
Beiträge: 172
|
danke, hat klarerweise funktioniert. bin gerade drauf gekommen, wo mein problem lag: hatte in der funktion ein onLoad. deswegen hat flash auch den ersten array ein undefined zugewiesen, weil die daten noch nicht geladen waren, und hat erst über das zweite array dem ersten die daten zugewiesen (deswegen die reihenfolge, die nicht stimmte). die daten waren im ersten! wie sag ich ihm jetzt, dass er erst weitertun soll, wenn die Daten geladen sind? mit setIntervall ständig die funktion aufrufen? |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
hmmmm, als Theoretiker solltest du aber handbücher lesen können. nicht verstehen ist, wenn etwas nicht klappt (da helfen wir gerne) nicht wissen ist, wenn man sich nicht informier hat. onLoad was ??????? benützt du LoadVars? was du hier leider nicht beschreibst. dazu gibt es ein send() ein sendAndLoad() ein onLoad ein onData ... also da ist von allem jede menge vorhanden. und benütz doch bitte mal die suchfunktion hier im forum zum thema LoadVars u.a. findest du jede menge beiträge ;-)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #5 (permalink) |
| _M++ Registriert seit: Mar 2004 Ort: Stuttgart
Beiträge: 403
|
huhu ich hab das selbe Problem und habe deswegen meinem Post an dieses gehängt. Ich versuche das gleiche wie Raffraff Code: function dbData (sSql:String)
{
sArrData = new Array();
lvData = new LoadVars();
lvData.VarAnPhp = sSql;
lvData.sendAndLoad('php.php', lvData);
lvData.onLoad = function (sucess)
{
if (sucess)
{
sArrData = this.phpinfo.split("|");
return sArrData;
}
}
} Code: arrData = new Array();
arrData = dbData("irgendwas");
textfeld.text = arrData[0]; vielen dank moni |
| | |
| | #6 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Hallo! Nee, das Array wird nicht mit Werten gefüllt, die noch nicht vorhanden sind, sondern das Script wartet nicht, bis die Daten geladen wurden. Das Thema gab's nun aber wirklich schon oft genug...
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #7 (permalink) | |
| _M++ Registriert seit: Mar 2004 Ort: Stuttgart
Beiträge: 403
| Zitat:
ich habe mich wirklich schon bemüht, an was liegt es denn? mein onLoad fragt doch ab ob die daten da sind?sollte ich onData anstatt onLoad verwenden? gruss | |
| | |
| | #8 (permalink) |
| mod_rewrite Registriert seit: Feb 2003 Ort: München
Beiträge: 15.621
|
Nein... du musst alles, was von der An- oder Abwesenheit der LV-Daten abhängig is, in den onLoad packen...
__________________ RTFM Wie man Fragen richtig stellt. Achim Bindannmalweg Money makes the world go round, fear makes it turn much faster. (New Model Army) |
| | |
| | #9 (permalink) |
| Trennschleifer Registriert seit: Apr 2004 Ort: Hamburg
Beiträge: 1.282
|
und die Reihenfolge ändern PHP-Code: |
| | |
| | #10 (permalink) | |
| _M++ Registriert seit: Mar 2004 Ort: Stuttgart
Beiträge: 403
| Zitat:
dann tut sich gar nichts mehr.Also ich hab mir mal die Beiträge PHP => Flash undefined und Nachladen von Variablen aus Texten oder PHP-Files zur Brust genommen. Es funktioniert auch alles, solange ich den Mist nicht in die Funktion dbData stecke. Gebe ich die Daten in ein Textfeld aus funktioniert es auch. Ich habe auch mit einem onEnterFrame versucht den return zu verzögern, dies tut auch nicht. dbData() wird aufgerufen und sofort das noch nicht vorhandende Array returned. Dann bekomm ich ein undefine und flash ist wurst ob nun noch daten kommen oder nicht. Wie soll ich denn verhindern dass, das return erst ausgeführt wird wenn die daten da sind gruss | |
| | |
| | #11 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
keine hecktik, keine panik, kein rätzelraten, nur nackte logig und die flash hilfe benutzen: Code: function dbData(sSql) {
// 2. serverabfrage starten
lvData = new LoadVars();
lvData.VarAnPhp = sSql;
lvData.sendAndLoad('php.php', lvData);
lvData.onLoad = function(sucess) {
if (sucess) {
// 3.1. irgendwann kommt die antwort
// split macht ein array draus, das muss man nicht extra sagen
// vorrausgesetzt es gibt ein phpinfo in der antwort
sArrData = this.phpinfo.split("|");
// da gibt es kein return, wohin denn auch, zum server???
// return sArrData;
// 4. aber von hier aus die nächste aktion starten,
// wenn noch etwas mit den daten passieren soll
fNextAction();
} else {
// 3.2. sollte man nie ausser acht lassen
trace("fac: "+this);
}
};
}
// 1. functionsaufruf
dbData("irgendwas");
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #12 (permalink) |
| _M++ Registriert seit: Mar 2004 Ort: Stuttgart
Beiträge: 403
|
dankeschön euch allen tapferen Helfern @hgseib mit dem return hatte ich vor die daten die aus der db kommen an meine variable zurück zu geben. Ich erzähl mal wie ich es vor hatte, ich hab allerdings das Gefühl das es so nicht geht wie ich vor hatte. 1) in level0 wird die funktion dbData erstellt. 2) in level12 wird ein array erzeugt. dann ruf ich meine funktion array = level0.dbData(); auf 3) mit dem return hatte ich vor das zeugs aus der funktion in dieses array auf level 12 zurück zugeben. 4) danach wollte ich mit dem array in level 12 weiter arbeiten. mein problem ist, wenn ich eine funktion aus der level0.dbData funktion aufruf dann weiß diese funktion ja garnicht wo diese sich befindet. z.b. auf level12 ist eine funktion showTxt() definiert. Diese ist in der dbData ja nicht bekannt... ist meine überlegung so richti? bzw kann man das so umsetzten? grüsse moni Geändert von monroe (24-06-2006 um 11:52 Uhr) |
| | |
| | #13 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
"..2) in level12 wird ein array erzeugt. dann ruf ich meine funktion array = level0.dbData(); auf.." das geht nicht!!! wurde doch jetzt mehrmals gesagt und begründet. hab ich jetzt nicht getestet, aber so sollte es gehen: Code: function dbData(sSql, fBackFunction) {
lvData = new LoadVars();
lvData.VarAnPhp = sSql;
lvData.sendAndLoad('php.php', lvData);
lvData.onLoad = function(sucess) {
if (sucess) {
fBackFunction(this.phpinfo.split("|"));
} else {
trace("fac: "+this);
}
};
}
//
function fBackFunction(_array) {
trace(_array);
}
dbData("irgendwas", fBackFunction);
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (24-06-2006 um 18:00 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |