Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-03-2004, 16:10   #1 (permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
loadVar() -> Warten bis geladen

Hallo Zusammen...

habe ein kleines Problem.

Ich habe folgendes Script:
ActionScript:
  1. // load Text from DB
  2. myVar = new LoadVars ();
  3. myVar.load(_global.webserver+"php/loadStaticText.php?tabName=website&tabLang"+lang+"&"+getConnectInfoAsString());
  4. //trace( _global.webserver+"php/loadStaticText.php?tabName=website&tabLang"+lang+"&"+getConnectInfoAsString() );
  5. myVar.onLoad = function (success) {
  6.     if(success){
  7.         myVar.unserialized = new Serializer().unserialize(this.flashvar);
  8.         dbRes = myVar.unserialized;
  9.         myVar = new LoadVars();
  10.     }
  11. }

Es funktioniert tiptop. Aber das Script wartet nicht, bis die Variablen geladen wurden. Es geht einfach weiter. Im nachhinein ist die Var dbRes jeweils geladen.
Ich möchten nun aber im Code warten bis die Var dbRes geladen wurde. Da ich Werte daraus benötige.

Wie muss ich das machen?

Besten Dank für eure Antwort....

greetz
Ch. Iten

Geändert von visioncom (08-03-2004 um 16:15 Uhr)
visioncom ist offline   Mit Zitat antworten
Alt 08-03-2004, 16:22   #2 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
dein code stimmt doch ! das script wartet bis alles geladen....dann wird der onLoad ausgeführt....

das geht bloss so schnell das du es nicht mitkriegst...


Gruss nky
nky ist offline   Mit Zitat antworten
Alt 08-03-2004, 16:22   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
hi,

was heißt denn im Code warten?
Soll der Film stoppen bis die Variablen geladen wurden?

gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 08-03-2004, 20:34   #4 (permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
der code geht noch weiter...

Aber der Code läuft einfach weiter. Das sehe ich beim debuggen. Der movie sollte wahrscheindlich gestoppt werden bis das die Varablen vom PHP-File zurück kommen. Wie muss ich das machen?!?
visioncom ist offline   Mit Zitat antworten
Alt 08-03-2004, 20:35   #5 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
dann mach mal ein _root.stop
das bewirkt aber nur das die zeitleiste nicht weiter abspielt...

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 08-03-2004, 20:44   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.323
das ganze läuft asyncron ab, da kannst du nicht linear programmieren.
das, was du mit "läuft weiter" bezeichnest gehört in das onLoad script. denn genau wenn das success ist, dann "gehts weiter".

anhalten geht in flash sowieso nicht so wirklich und wäre auch eine ganz schlechte lösung. 1000 sachen könnte flash in der zwischenzeit animieren, aber du hast den film "angehalten" ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 08-03-2004, 21:05   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
*zustimmendes Nicken* zu hgseib...

Wenn du noch weiteren Code hast, der erst nachdem die Variablen geladen wurden ausgeführt werden soll, kannst du den z.B. in eine Funktion packen und die Funktion im onLoad-Handler aufrufen
ActionScript:
  1. function machWasWennGeladen(){
  2. trace("Variablen wurden geladen");
  3. // und was du sonst noch so ausführen möchtest
  4. // gehört alles hier rein
  5. }
  6. myVar = new LoadVars ();
  7. myVar.load(_global.webserver+"php/loadStaticText.php?tabName=website&tabLang"+lang+"&"+getConnectInfoAsString());
  8. myVar.onLoad = function (success) {
  9.         if(success){
  10.                 myVar.unserialized = new Serializer().unserialize(this.flashvar);
  11.                 dbRes = myVar.unserialized;
  12.                 myVar = new LoadVars();
  13. _root.machWasWennGeladen();
  14.         }
  15. }
gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 08-03-2004, 21:28   #8 (permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
Danke für den lösungsansatz. Aber wie gesagt, ich brauche die Daten, ansonsten macht es keinen sinn das Script weiter laufen zu lassen. Wie müsste ich den Film stoppen. Könnte ich die Ladezeit mit einem Loader überbrücken?

greetz
chregi
visioncom ist offline   Mit Zitat antworten
Alt 08-03-2004, 21:37   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2002
Ort: D'dorf
Beiträge: 765
ich glaube jetzt wäre genau der richtige Zeitpunkt etwas detailierter zu erklären was genau du machen möchtest und evtl. eine fla hoch zu schieben.

gruß,
roman
romän ist offline   Mit Zitat antworten
Alt 08-03-2004, 23:16   #10 (permalink)
::: codeslinger :::
 
Benutzerbild von L4M4R
 
Registriert seit: Apr 2003
Ort: schweiz
Beiträge: 725
meiner Ansicht nach meint er das sein Film weiterläuft obwohl er eigentlich etwas laden muss, und während er lädt soll der Film angehalten werden? Stimmt das? wenn ja so (PS das hier ist MX 2004 also macht's auf AS2.0 Synthax)

ActionScript:
  1. var myVar:LoadVars = new LoadVars();
  2. myVar.tabName = "website";
  3. myVar.tabLang = lang; //ist lang ne Variable ?????
  4. //was macht getConnectInfoAsString() ?????
  5. myVar.sendAndLoad(_global.webserver+"php/loadStaticText.php",myVar,"POST");
  6. _root.stop(); //movie anhalten
  7. myVar.onLoad = function(x:Boolean){
  8. if(x){
  9. myVar.unserialized = new Serializer().unserialize(this.flashvar); //WTF macht das ?????
  10. dbRes = myVar.unserialized;
  11. _root.play(); //movie weiterlaufen lassen
  12. }
  13. }
Dein Code sieht ziemlich übel zusammengewürfelt aus Oo
__________________
Am Anfang schuf Gott das Advanced Research Projects Agent Network, dass auf den Namen ARPAnet getauft wurde, und das ARPAnet wuchs und gedieh und zeugte das Milnet, und das ARPAnet und das Milnet zeugten das Internet, und das Internet und seine Nachkommen, USENET Newsgroups und das World Wide Web, wurden zu einer Dreifaltigkeit, die das Leben seines Volkes für alle Zeiten grundlegend veränderte. L4M4R
L4M4R ist offline   Mit Zitat antworten
Alt 09-03-2004, 06:21   #11 (permalink)
VISIONcom
 
Registriert seit: Feb 2004
Ort: Luzern (CH)
Beiträge: 223
Danke für die Antwort.

Der Code ist nicht nicht zusammengewürfelt. Es ist ein ziemlich langes Script bei dem verschiedene Variablen zuvor gesetzt werde.

ActionScript:
  1. var myVar:LoadVars = new LoadVars();
  2. myVar.tabName = "website";
  3. myVar.tabLang = lang; //Wird im PHP benötig (Sprache)
  4. //was macht getConnectInfoAsString() ?????
  5. myVar.sendAndLoad(_global.webserver+"php/loadStaticText.php",myVar,"POST");
  6. _root.stop(); //movie anhalten
  7. myVar.onLoad = function(x:Boolean){
  8.         if(x){
  9.                 myVar.unserialized = new Serializer().unserialize(this.flashvar); //Vom PHP bekomme ich ein Array. Da das Array aber nicht übergeben werden kann, wird es serialzed (Schöne Funktion!)               
  10.                 dbRes = myVar.unserialized;
  11.                 _root.play(); //movie weiterlaufen lassen
  12.         }
  13. }


Währe es auch möglich ein Loader wärenden der Wartezeit laufen zulassen? Habe leider keine erfahrung mit Loadern!?

Geändert von visioncom (09-03-2004 um 06:28 Uhr)
visioncom 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 21:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele