Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-06-2005, 15:11   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 22
Variablen nicht Global?

Folgendes,

lade über LoadVars einige Variablen aus einer DB per PHP Skript.
bsp. &id=2&
Nun muss ich die ja irgendwie dem Movie übergeben, was auch
funktioniert, allerdings nur wenn ich ein Textfeld erstelle, also eins aus der
Werkzeugleiste, es dynamisch setze und anschliessend die anzuzeigende Variable in den Inspektor eintrage. Naja und Instanz halt noch vergeben.
Nun das eigentliche Problem:

Erstelle ich nun ein AS und möcht praktisch exakt diese Variable tracen
lassen, bekomm ich nur ein undefined zurück. Und dabei ist es egal ob das
Werkzeugleisten Textfeld parallel existiert oder nicht. Diese Variablen existieren praktisch in der AS-Fenster Welt nicht!!
Über srtg+alt+v bekomme ich aber die variablen angezeigt und zwar auf level0. Was mach ich falsch?

Gruß
el Mariachi ist offline   Mit Zitat antworten
Alt 14-06-2005, 15:15   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Ein "fitzelchen" Script wäre sehr hilfreich. Wie sieht z.B. der geamte LoadVars Bereich aus?
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 15-06-2005, 07:56   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 22
Also hab ichs einaml so asprobiert:
ActionScript:
  1. loadVarsNum("URL",0,"GET");
und einaml mit Load Vars:
ActionScript:
  1. v = new LoadVars()
  2. v.onLoad = function(geladen) {     
  3. if(geladen) {
  4.           for(i in this) {
  5.               if(this[i] != '') {
  6.                   _root[i] = this[i]; // Pfad, hier _root
  7.               }
  8.           }
  9.       }
  10.   }  ASSetPropFlags(v,["onLoad"],1,1);  v.load("URL");
el Mariachi ist offline   Mit Zitat antworten
Alt 15-06-2005, 08:40   #4 (permalink)
der mit der Axt
 
Benutzerbild von ANTICHRIST
 
Registriert seit: Mar 2003
Ort: Mighty Mighty Ruhrpott
Beiträge: 449
Was soll DAS sein ???
ActionScript:
  1. loadVarsNum("URL",0,"GET");

Und sag mir doch mal eben wo und wie du das das Script aufrufst ???
ANTICHRIST ist offline   Mit Zitat antworten
Alt 15-06-2005, 09:43   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 22
Sorry, sollte heißen:
ActionScript:
  1. loadVariablesNum("URL",0,"GET");

Das script rufe ich in einer eigenen funktion die am start der films, also
im ersten bild, automatisch aufgerufen wird. nix besonderes weil erstmal
nur zu testzecken.

Ungefähr so:
ActionScript:
  1. ladeVariableausPHP function(){
  2.    loadVariables("URL",0,"GET");
  3. }

analog natürlich auch mit LoadVars.

das ist eigenlich schon alles, bis auf die TexfeldFunktion.

Hier sollte dann eine der Variablen verarbeitet werden.

ActionScript:
  1. createFeld function(){
  2.    _root.creatTextField("test", 0, 100, 100, 50, 100);
  3.   test.type = "dynamic";
  4.   test.text = geladeneVariable;
  5.  //weitere Eigenschaften
  6. }

Anschliessend ruf ich die funktionen einfach auf.

ActionScript:
  1. ladeVariableausPHP();
  2. createFeld();

leider bekomm ich immer ein undefined zu gesicht, ebenso beim tracen.
el Mariachi ist offline   Mit Zitat antworten
Alt 15-06-2005, 17:56   #6 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
wie wärs, wenn du mal die variablen beim LoadVars Object traced, um zu testen, ob überhaupt welche ankommen?

übrigens:
ActionScript:
  1. createFeld function()
  2. {
  3. }

so erstellt man keine Funktionen!
ActionScript:
  1. function name() {}
du müsstest doch eigentlich mit as fehlern überhäuft werden!?


btw. createFeld <- geiler Name.. ist dänglisch oder
pokepika ist offline   Mit Zitat antworten
Alt 16-06-2005, 08:42   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 22
Keine Angst die Funktionen funktionieren Einwandfrei,
sollte ja auh nicht der Schwerpunkt der Thematik sein, deswegen auch
die schlampige Schreibweise.

Wie man jetzt die Variablen aufruft weiß ich jetzt, ist aber eigentlich in keinem deutschen Froum gestanden.
Habe dann aber noch folgendes Problem.

Ich hab mehrere Variablen im php Skript:
ActionScript:
  1. &var_concheckdb= Ok&
  2. &var_conchecktab= Ok&
  3. &anz_id= 9&
  4. 9 Datensätze gefunden
  5.  
  6. &can_id[0]= 16&, &var_day[16]=00.00.0000&, &var_date[16]=00:00:00&,
  7. &var_data[16]= 22&
  8. &can_id[1]= 20&, &var_day[20]=00.00.0000&, &var_date[20]=00:00:00&,
  9. &var_data[20]= 22&
  10. &can_id[2]= 1&, &var_day[1]=15.06.2005&, &var_date[1]=15:10:13&,
  11. &var_data[1]= 23&
  12. &can_id[3]= 33&, &var_day[33]=15.06.2005&, &var_date[33]=15:09:56&,
  13. &var_data[33]= 44&
  14. &can_id[4]= 12&, &var_day[12]=00.00.0000&, &var_date[12]=00:00:00&,
  15. &var_data[12]= 55 66&
  16. &can_id[5]= 2&, &var_day[2]=15.06.2005&, &var_date[2]=15:19:52&,
  17. &var_data[2]= 55 66&
  18. &can_id[6]= 5&, &var_day[5]=15.06.2005&, &var_date[5]=15:20:02&,
  19. &var_data[5]= 12&
  20. &can_id[7]= 500&, &var_day[500]=15.06.2005&, &var_date[500]=15:23:13&,
  21. &var_data[500]= FF 55&
  22. &can_id[8]= 55&, &var_day[55]=00.00.0000&, &var_date[55]=00:00:00&,
  23. &var_data[55]= 34&

diese ruf ich dann folgendermaßen auf:

ActionScript:
  1. for(i = 0; i<=this["anz_id"]; i++){
  2.  
  3. var ident = this["can_id[" + i + "]" "];
  4. content.htmlText = "<br>" + this["var_data[" + ident + "]"];
  5. }

Diese Skript schreibt alle var_data[] Inahlt in ein Textfeld (content) und die Ausgabe sollte eigentlich lauten: 22, 20, 23, 44, 55 66, 55 66, 12, FF 55, 34

Aber überall steht "undefined"!

führe ich ein trace auf ident auf, also:
ActionScript:
  1. for(......   
  2. var ident = this[......
  3. trace(ident); //traced korrekt alle id's
  4. content.htmlText = .......

Ich bekomme auch jeden inhalt der neun can_id's korrekt angezeigt, kann
sie aber im Programm nicht verwenden!!

Auch diese trace Version funtkioniert nicht:
ActionScript:
  1. trace( this["var_data[" + this["can_id[" + i + "]" ] + "]"]);
el Mariachi ist offline   Mit Zitat antworten
Alt 16-06-2005, 11:18   #8 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
ist das da oben die Ausgabe der php datei, die Flash lesen soll!?!?

Der Syntax ist voll falsch

Code:
&var_concheckdb= Ok&
keine Leerzeichen vor und nach dem = !

Code:
&anz_id= 9&
9 Datensätze gefunden
was soll denn der text zwischen den Variablen? ("9 Datensätze gefunden")

Code:
&can_id[0]= 16&, &var_day[16]=00.00.0000&, 
...
was soll das Komma dazwischen?

Code:
&var_date[16]=00:00:00&
ich bezweilfe, dass Flash das [16] erkennt.
pokepika ist offline   Mit Zitat antworten
Alt 16-06-2005, 12:11   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 22
Die Syntax ist nur in zwei Punkten mehr oder weniger falsch.
Erstens ist Flash egal ob da das Leerzeichen drin ist oder nicht, bsp bei einem
trace spuckt Flash das leerzeichen einfach mit aus, allerdings, und hier lag mein Fehler, solltest Du das bei der Variablenerstellung beachten.
Ungefähr so:
ActionScript:
  1. this["var_data[#" + ident + "]" ]; //das Gatter soll das Leerzeichen symbolisieren
  2.  
Weil ja:
ActionScript:
  1. &can_id[0]=#16&
  2. und somit:
  3. i = 0
  4. var ident = this["can_id[" + i + "]" "];
  5. //ident entpräche dann einem leerzeichen + 16
Ansonsten kannst Du auch Dopplepunkte reinschreiben, da ja ein String.
Und da der Timestamp nur zu Informationszwecken dient reicht das.
Also auf jedenfall problem gelöst.
Dank für die mühe.

Geändert von el Mariachi (16-06-2005 um 12:18 Uhr)
el Mariachi 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:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele