Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2004, 14:22   #1 (permalink)
Flashed-Boarder
 
Registriert seit: Feb 2004
Ort: Münstertal
Beiträge: 121
setInterval beim .txt auslesen funktioniert nicht richtig

hi,
ich lasse per setinterval jede sekunde eine .txt vom server auslesen.
Doch nun habe ich das problem, das es an meinem pc (flash player 7) recht gut, aber nicht perfekt läuft, sobald ich die .txt auslesen lasse, braucht er erstmal ca. 5 - 10 sekunden (immer unterschiedlich) bis er damit anfängt.
Doch am pc eines kollegen (flash player 6) wird die .txt datei nur am anfang ein einziges mal ausgelesen, und dann nicht wieder.

Und ich verstehe es einfach nicht, am Browser kanns ja nicht liegen, und an der flash player version denke ich mal auch nicht.

Hat jemand einen Tipp????

mfg,
Patrick
KillerbeanX ist offline   Mit Zitat antworten
Alt 04-09-2004, 14:37   #2 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Ohne Code oder fla kann wohl keiner was zur Lösung des Problems beitragen.
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 05-09-2004, 04:00   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ein Textfile mit setInterval auslesen?? Ich glaube es hackt... Dazu gibt es das loadVars-Objekt mit seinen Methoden. Beispiel:

im Textfile steht folgender Eintrag:
&wert=testtext&

ActionScript:
  1. function geladen(erfolgreich) {
  2.         if(erfolgreich) {
  3.                 trace("this.wert="+this.wert);
  4.                 _global.meinEintrag=this.wert;//ergibt this.wert=testtext
  5.         }
  6.         else {
  7.                 trace("Fehler beim Laden");
  8.         }
  9. }
  10. LadeObj = new LoadVars();
  11. LadeObj.onLoad = geladen;//diese Callbackfunktion nach Rückgabe von Werten in das LoadVars-Objekt ausführen
  12. LadeObj.sendAndLoad("meineDatei.txt",LadeObj,"POST");
  Mit Zitat antworten
Alt 06-09-2004, 16:52   #4 (permalink)
Flashed-Boarder
 
Registriert seit: Feb 2004
Ort: Münstertal
Beiträge: 121
@webdust: oh, hab vergessen den code einzufügen

@agedoubleju : du hast mich wohl nicht richtig verstanden!!! njatürlich lade ich den txt inhalt nicht per setintervall aus, geht ja garnicht , ich meinte damit nur, dass ich loadVars per setintervall jede sekunde die txt auslesen lasse!!! kappiert???

hier der code:
ActionScript:
  1. stop();
  2. function laden() {
  3.     system.useCodepage = true;
  4.     loader = new LoadVars();
  5.     loader.onLoad = function(ok) {
  6.     if(ok) {
  7.         if (this.text_var != _root.alt) {
  8.         ausgabe_mc.ausgabe_txt.htmltext += "<b><font color='#980101'>FHome: </font></b>" + this.text_var// #011BC9
  9.         ausgabe_mc.ausgabe_txt.htmltext += "\n";
  10.         if (ausgabe_mc.ausgabe_txt.scroll < ausgabe_mc.ausgabe_txt.maxscroll)
  11.             ausgabe_mc.ausgabe_txt.scroll = ausgabe_mc.ausgabe_txt.maxscroll;
  12.         }
  13.         _root.alt = this.text_var;
  14.     }
  15.     }
  16. loader.load("saveF.txt");
  17. }
  18.  
  19. setInterval(laden, 1000);
der .txt inhalt:

text_var= und hier steht der text
KillerbeanX ist offline   Mit Zitat antworten
Alt 06-09-2004, 16:58   #5 (permalink)
aka stauby
 
Benutzerbild von webdust
 
Registriert seit: Mar 2004
Ort: Würzburg
Beiträge: 705
Problem ist, dass die txt-Datei sich im Cache des Browser befindet und somit nicht neu vom Server gelesen wird. Probier´s mal so:

ActionScript:
  1. timestamp = new Date().getTime();
  2. loader.load("text.txt?reload="+timestamp);
__________________
"The things you own end up owning you."
webdust ist offline   Mit Zitat antworten
Alt 06-09-2004, 22:39   #6 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
wieder einmal: der arme server
michael ist offline   Mit Zitat antworten
Alt 06-09-2004, 22:41   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
@KillerbeanX: hab ich schon verstanden, dass du das loadVars-Objekt per setInterval ausliest, deswegen ja auch mein "Kopfschütteln". setInterval macht man, wenn man entweder auf einen Rückgabewert wartet und dazu eine Funktion ausführt, oder wenn man Zeit "schinden" will etc.

Das LoadVars-Objekt hat aber eine eigene Callbackmöglichkeit, nämlich die onLoad-Methode, die ohne einen überflüssigen (nur um es noch mal ganz deutlich zu sagen) setInterval auskommt, weil die sowieso gefeuert wird, sobald das LoadVars-Objekt mit Rückmeldedaten gefüttert wird. Mit deinem setInterval überschreibst du jede Sekunde mit der Funktion dein LoadVars-Objekt, und wenn da nicht innerhalb dieser Sekunden Daten angekommen, wird es gleich wieder gelöscht und kann keine Rückgaben empfangen. Also nochmal: ein setInterval ist hier überflüssig wie ein Kropf!

Weiterhin solltest du auf keinen Fall Befehle wie system.useCodepage = true; in eine Funktionsschleife packen, die mehrfach ausgeführt wird. Das kostet jedesmal Rechenzeit und Performance und ist genauso überflüssig, weil sie an den Anfang des Scriptes gehört. Und wenn du deine Texte als Unicode UTF-8 abspeicherst, kann der Befehl ganz raus.
  Mit Zitat antworten
Alt 07-09-2004, 16:52   #8 (permalink)
Flashed-Boarder
 
Registriert seit: Feb 2004
Ort: Münstertal
Beiträge: 121
@agedoubleju : hhmmm, kannst du mir das mit dem onLoad mal anhand meines scriptes zeigen, also ihn grad umändern?!?!?
ich versteh das nämlich nicht ganz, wie das funktionieren soll!

mfg,
Patrick
KillerbeanX ist offline   Mit Zitat antworten
Alt 07-09-2004, 19:37   #9 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ich hab das doch weiter oben schon gepostet... Du instanziierst ein neues LoadVars-Objekt, weist dem Objekt eine Callbackfunktion zu (heisst hier "geladen") und startest den HTTP-Request. Wenn das LoadVars-Objekt Daten bekommt, wird die "geladen"-Funktion gestartet und du kannst die übergebenen Werte einlesen, hier z.B. _global.meinEintrag=this.wert. An dieser Stelle kannst du dann mit deinem Script fortsetzen, indem du entweder hier weitere Befehle einfügst oder eine weitere Funktion startest.
  Mit Zitat antworten
Alt 08-09-2004, 17:13   #10 (permalink)
Flashed-Boarder
 
Registriert seit: Feb 2004
Ort: Münstertal
Beiträge: 121
hey holger, ich verstehs einfach nicht!

hab grad mit deinem script ein bischen rumprobiert aber ich bekomms nicht hin.
Kannst dus mir nicht einfach an meinen script zeigen?????

Das würde mir echt Nervenzereisende Rumprobiererei ersparen.
KillerbeanX ist offline   Mit Zitat antworten
Alt 08-09-2004, 23:50   #11 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das Script, das ich weiter oben verwendet habe, funktioniert so, wie es dasteht, wenn man ein entsprechendes Textfile mit den angegebenen Werten erstellt und das AS auf den ersten Schlüsselframe in eine eigene Ebene legt. Was bitte ist daran so schwer zu verstehen?

Aber es soll mir ja keiner nachsagen, ich lasse die Member hier im Regen stehen, habe also sowohl Textfile als auch fla als zip beigefügt. Nimmt die fla als Grundlage zum weiteren Testen...
Angehängte Dateien
Dateityp: zip lv.zip (4,5 KB, 9x aufgerufen)
  Mit Zitat antworten
Alt 09-09-2004, 16:46   #12 (permalink)
Flashed-Boarder
 
Registriert seit: Feb 2004
Ort: Münstertal
Beiträge: 121
Zitat:
Das Script, das ich weiter oben verwendet habe, funktioniert so, wie es dasteht, wenn man ein entsprechendes Textfile mit den angegebenen Werten erstellt und das AS auf den ersten Schlüsselframe in eine eigene Ebene legt. Was bitte ist daran so schwer zu verstehen?
achso, ich habe halt nicht verstanden wo der code hin kommt, habe ihn immer versucht in meinen code einzubauen bzw. andere codeteile dafür wegzulassen.

aber danke das du dir doch noch die mühe gemacht hast ne fla zu posten, obwohl sie mein flash mx nicht lesen kann ; aber egal.

Geändert von KillerbeanX (09-09-2004 um 17:00 Uhr)
KillerbeanX ist offline   Mit Zitat antworten
Alt 09-09-2004, 20:32   #13 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ohne Kommentar...
Angehängte Dateien
Dateityp: zip lv2.zip (3,7 KB, 9x aufgerufen)
  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 06:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele