Autor |
Nachricht |
graphicsandunity
Threadersteller
Dabei seit: 22.11.2004
Ort: Berlin
Alter: 40
Geschlecht:
|
Verfasst So 02.01.2005 02:58
Titel [FlashMX 2004] return-Anweisung verstanden? |
|
|
Ein Hallo an alle MGI-Flash-Spezialisten (und natürlich auch an alle anderen hier ),
meine Sorge sieht folgendermaßen aus:
Ich hab in Flash eine Funktion geschrieben, die mittels einer for-Schleife ein paar berechnungen für x- und y-werte vornimmt.
bei jedem durchlauf der schleife, werden die ergebnisse der berechnung in ein arrays gespeichert.
das array wird dann via return ausgegeben.
zumindest sollte es so sein.
und genau da ist das problem.
ich habe nach der ausführung der funktion eine trace-aktion stehen, die mir den typen des arrays ausgeben soll.
da kommt jedoch undefined bei raus.
hier mal eine abgespeckte version des codes:
Code: |
function meineFunktion (parameter) {
// anweisungen und die for-schleife
return x_array;
}
meineFunktion(parameter);
trace(typeof(x_array));
|
und bei diesem trace kommt dann immer wieder undefined raus.
Kann mir jemand sagen, wieso das array nicht aus der funktion zurückgegeben wird?
Besten Dank schon mal im Voraus und allen noch ein Frohet Neuet.
GaU
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst So 02.01.2005 03:49
Titel
|
|
|
das kann man aus deinem code doch gar nicht ersehen... da fehlt ja alles wichtige.
ich sehe nur return x_array;, aber keine ahnung, was du da zurückgibst. ich sehe nicht, wo du das array erstellst oder irgendwelche werte zuweist...
poste mal mehr code.
und hier:
meineFunktion(parameter);
rufst dur nur deine funktion mit einem übergabewert auf. den rückgabewert speicherst du aber nirgends ab.
ergebnis = meineFunktion( argumente );
und dann hast du den rückgabewert in einer variablen. andernfalls ist ziemlich egal, was deine funktion zurückgibt, weil du den wert dann ja gar nicht beachtest...
aus dem code kann man das jetzt nicht entnehmen, aber es scheint so, als ob x_array nur lokal in deiner funktion existiert. nach verlassen der funktion hört die variable dann auf zu existieren und trace() kann nur undefined zurückgeben.
Zuletzt bearbeitet von rob am So 02.01.2005 03:51, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
graphicsandunity
Threadersteller
Dabei seit: 22.11.2004
Ort: Berlin
Alter: 40
Geschlecht:
|
Verfasst So 02.01.2005 11:07
Titel
|
|
|
danke für die mühe ich hab das problem grad selbst gelöst.
ich hatte den Fehler gemacht, die variable, die das array enthält, innerhalb der funktion mit dem keyword var zu definieren.
das scheint alles zu sein.
hier noch mal der falsche code:
Code: |
function meineFunktion (eine reihe von parametern) {
var x_werte = new Array();
for (i = 0; i<=oben; i++) {
// hier steht die berechnung von der variablen x
x_werte[i] = x
}
}
// hier steht der funktionsaufruf
// dann
trace(typeof(x_werte); // ausgabe ist undefined
|
Und hier nun nochmal das gleiche aber berichtigt
Code: |
function meineFunktion (eine reihe von parametern) {
x_werte = new Array();
for (i = 0; i<=oben; i++) {
// hier steht die berechnung von der variablen x
x_werte[i] = x
}
}
// hier steht der funktionsaufruf
// dann
trace(typeof(x_werte); // ausgabe ist object
|
hoffe diese schmale version der funktion reicht aus um es nachvollziehen zu können.
jetzt sieht man ja auch erstmal, wo der fehler auftreten könnte.
danke noch für die konstruktive kritik.
beim nächsten mal wird das dann sofort einsichtiger ausfallen.
schönen sonntag noch
GaU
|
|
|
|
|
|
|
|
Ähnliche Themen |
Flash 3 Script in FlashMX 2004 einbringen
FlashMX 2004 Pro: nach AI-Import Forms ohne Strichfarbe :(
Hab ich css-Aufbau richtig verstanden?
htaccess Rewrite und fehlerhafte get-anweisung
Fontsize-JS: Cookie-Anweisung hinzufügen. Aber wie?
richtige SQL Anweisung funktioniert nicht im Script
|
|