Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2004, 18:46   #1 (permalink)
neuling
 
Registriert seit: Aug 2004
Beiträge: 198
Variablen verschwinden?

Hallo

Kann mir vielleicht einer erklären was bei dem Script unten schief läuft,
Ich lade einen kurzen Teil einer Textdatei ein und möchte ihn dann weiterverwenden. Beim Beispiel unten möchte ich das ganze 2 mal per trace
ausgeben einmal ist die Variable da einmal nicht, warum zur Hölle nur?
Vielen Dank im Voraus für jeden Hinweis.

mfg
Clemens


// Liste der Mapdateien importieren
_root.Liste = new Array();
_root.Listetxt = new LoadVars();
_root.Listetxt.load("Liste.txt");
_root.Listetxt.onLoad = function(true) {
if (true) {

_root.Liste = _root.Listetxt.Liste.split(",");
trace("oben ="+_root.Liste); // da wird die Variable angezeigt
};};
trace("unten="+_root.Liste); // da nicht

Die dazugehörige Textdatei kann z.B. so aussehen (Dateiname: Liste.txt)

Liste=Punkt1,Punkt2,Punkt3&

Geändert von Clemenses (04-09-2004 um 18:50 Uhr) Grund: hoppla mal kurz vertippt
Clemenses ist offline   Mit Zitat antworten
Alt 04-09-2004, 18:53   #2 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Ist auch logisch, weil das untere trace wird ausgeführt, während die Variable noch geladen. Das onLoad erst, wenn die Variable schon geladen ist.
Hier ist die Reihenfolge im Code nicht die chronologische Reihenfolge.
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 04-09-2004, 19:15   #3 (permalink)
neuling
 
Registriert seit: Aug 2004
Beiträge: 198
ok, verstehe, aber was kann ich dagegen machen???

mgh
Clemens
Clemenses ist offline   Mit Zitat antworten
Alt 04-09-2004, 19:33   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
  1. onLoad ist ein Event-Handler von LoadVars(),
    der ausgeführt wird, wenn die Variablen in
    Objekteigenschaften konvertiert wurden, sprich fertig
    geladen sind.

    Beim Trace-ausruf außerhalb des onLoad, sind die
    Daten noch nicht vorhanden. Das kannst Du mit
    einem onEnterFrame testen.

    Warum schreibst Du nicht alles in das onLoad?
  2. Liste=Punkt1,Punkt2,Punkt3&
    Das & muss nur vor einer neuen Variablen stehen.
  3. Sauberer wäre es auch erst das onLoad zu verfassen
    und dann das _root.Listetxt.load("Liste.txt");.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 04-09-2004, 22:27   #5 (permalink)
neuling
 
Registriert seit: Aug 2004
Beiträge: 198
Zitat:
Zitat von thebiz
  1. Warum schreibst Du nicht alles in das onLoad?
weil das ganze normalerweise in einer Funktion steht, ich brauch dieses Teil immer wieder mal.
das ganze Projekt ist ja relativ umfangreich (bis jetzt so an die 2000 Zeilen). Ich hab nur das wesentliche für die Frage rausgenommen.
Gibt es nicht etwas das so funktionieren könnte:

(Pseudocode)

Funktion wie oben zum Laden der Daten;
Funktion Däumchendrehen bis Daten fertig geladen sind;
jetzt geht's wieder weiter, Ausgabe der Daten;



mfg
Clemens

P.S.:Punkt 2 war mir eh klar, zu Punkt 3 ist das jetzt nur unschön oder kann
das auch zu Fehlern führen, mir ist eigentlich alles recht wenns nur funktioniert, muß ja kein perfekter Code sein
Clemenses ist offline   Mit Zitat antworten
Alt 04-09-2004, 22:36   #6 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Zitat:
Zitat von Clemenses
Funktion wie oben zum Laden der Daten;
Funktion Däumchendrehen bis Daten fertig geladen sind;
jetzt geht's wieder weiter, Ausgabe der Daten;
Genau dafür ist doch das "onLoad" da?

Kannst natürlich auch einfach ein gotoAndStop(nextFrame); da reinpacken und dann die ganzen Befehle im nächsten Frame ausführen lassen.
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 05-09-2004, 00:16   #7 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Dann rufe doch die Funktion in dem onLoad auf!
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz 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 10:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele