Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-09-2004, 16:18   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 39
Question Dynamischer Pfad (eval /[variable] ...???)

Hallo,
ich haben einen Pfad in einer Variablen stehen:
Code:
srVar = _root.var1;
Dieser Variable soll jetzt ein Wert zugewiesen werden.
Ich hab schon versucht das mit eval und [pfad] zu lösen,
aber das klappt nicht.
Code:
eval(srVar) = wert1;
Hier kommt immer die Fehlermeldung "Die linke Seite des Zuweisungsoperators muss eine Variable oder eine Eigenschaft sein."
Code:
[srVar] = wert1;
... klappt auch nicht, da hier davor noch ein "_root" oder irgendwas
stehen muss.

Hat von euch jemand eine Idee? Es kann ja nicht sein dass das nicht geht.
Illuminatus ist offline   Mit Zitat antworten
Alt 10-09-2004, 16:30   #2 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
was willst du eigentlich genau? eine referenz auf _root.var1 ???

weil im moment speicherst du einfach nur den wert von _root.var1 in srVar, wenn du einen string oder ne nummer hast (bei arrays würdest du ne referenz übergeben).

deshalb kannste

srVar = wert1;
_root.var1 = srVar;

schreiben.

referenzen auf einfache datentypen wie number und string sind glaube ich nicht möglich, da man sowas eigentlich weh nicht braucht.
__________________
www.madflanderz.de

ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°` _ addicted to bass _ `°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø
madflanderz ist offline   Mit Zitat antworten
Alt 10-09-2004, 16:45   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 39
_root.var1 war nur ein Beispiel.
Genauso könnte in srVar auch _parent.xyz, _level10, ... drinstehen.
Illuminatus ist offline   Mit Zitat antworten
Alt 10-09-2004, 17:25   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
du willst nicht den inhalt einer variablen sondern einen zeiger darauf speichern?
also so soltle es nach dir gehen?

ActionScript:
  1. xyz="hallo"
  2. ref=eval("this.xyz") //oder this["xyz"]
  3. ref="tschüß"
  4.  
  5. trace(xyz) //wunsch: "tschüß", ausgabe wird aber "hallo" sein
  6.  
du mußt das problem ein stückchen vor der "ziellinie" anpacken
also nicht komplett auf die variable verweisen sondern zB nur auf die zeitleiste und von dort dann auf die variable.viele worte:
ActionScript:
  1. xyz="hallo"
  2. varname="xyz"
  3. zeitleiste=this //oder _root.a.b.c
  4. zeitleiste[varname]="tschüß"
  5.  
  6. trace(xyz) //tschüß
  7.  

grund is einfach und dir sicher schon aufgefallen.
wenn flash so etwas sieht
ActionScript:
  1. xyz="hallo"
  2. ref=eval("this.xyz") //oder this["xyz"]
  3. ref="tschüß"
woher soll der compiler denn wissen, ob du nun das letzte "tschüß" in ref oder in xyz speichern willst?


deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 10-09-2004, 19:06   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2001
Beiträge: 39
hey,
das klingt nicht nur gut sondern funktioniert auch noch!
super! danke!

eines musste ich allerdings noch verändern. da die werte bei mir aus dem komponenten inspektor kommen musste ich den pfad doch noch evaluieren.
ActionScript:
  1. zeitleiste = _root // komponenten variable
  2. //
  3. xyz="hallo"
  4. varname="xyz"
  5. zeitleiste=eval(zeitleiste);
  6. zeitleiste[varname]="tschüß"
  7.  
  8. trace(xyz) //tschüß
  9.  
Illuminatus 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 05:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele