Ich will in meinem Flash-Movie ständig eine aktuelle Variable, die ich aus einem externen Textfile habe anzeigen, bzw. überprüfen. Das Flash-File „demo.swf“ und die textdatei „general.live“ liegen im Unterordner „data“. Das FlashFile wird im Hauptordner in der HTML-datei test.htm eingebunden.
TEXT-FILE general.live:
identifier=6211852&loaded=true
FLASH-FILE demo.swf:
BILD 1:
loaded=‚false‘;
loadVariablesNum („data/general.live?“&random(99999), 0);
BILD 2: (üeberprüfen ob Textdatei vollständig geladen ist)
if(loaded==‚true‘){
gotoAndPlay(4);
}
BILD 3:
gotoAndPlay(2);
BILD 4: (wenn Variablen gleich, dann Textfile neu laden)
if(sessionid==identifier){
loaded=‚false‘;
identifier=’’;
gotoAndPlay(1);
}
BILD5:
hier wird dann eine Meldung ausgegeben, dass sich die Textdatei geändert hat…
Im HTML-File wird dann die demo.swf mit einem Parameter aufgerufen, also „demo.swf?sessionid=6211852“. Die SessionId wird beim Aufruf aus general.live ermittelt und an das Flash-File übergeben. Sobald sich nun die Variable „identifier“ in general.live ändert, soll dann im Flash-File das Bild 5 angezeigt werden. Es soll im SWF also ständig die Variablen aus der Textdatei geladen werden und mit der übergebenen Variable SessionId überprüft werden.
Aber irgendwie funkt das nicht, wenn ich die HTML-datei im Browser aufrufe. In Flash unter Film testen geht es aber! Was habe ich für einen Fehler. Das Cachen der Textdatei im Browser müsste ich ja mit der Übergabe einer Zufallszahl (siehe Bild 1) verhindern.
ich hoffe ihr versteht, was ich meine und könnt mir helfen.
Hier ein Auszug aus der HTML-Datei, bzw. ASP-Datei:
Die sessionid wird über ein ASP-Skript ermittelt und dann an das swf weitergegeben. Die Datei „test.htm“ heisst natürlich test.asp:
kann mit den externen Variablen nichts anfangen?!
habe es versucht, macht aber keinen Unterschied. Anzeigen in einem Textfeld kann ich beide Variablen - folglich müssten sie dann auch geladen sein…
Jetzt habe ich im Textfile folgende Variablen:
identifier=383838&result=0
Im Flashfile habe ich vor dem LoadVariables-Befehl die Variable result=-1 gesetzt.
Nachdem ich den LoadVariables-Befehl aufgerufen habe, habe ich in den nächsten 2 Schlüsselbildern einen kleinen Preloader für die externe Textdatei. Ich springe zwischen den 2 Schlüsselbildern solange her, bis result=0 ist:
if(result == 0) {
gotoAndPlay (weiter);
}
Zusätzlich gebe ich die Variable result in einem Textfeld aus. Am Anfang zeigt es -1 an, bis nach einer Weile 0 erscheint (die Datei ist also geladen). Aber obwohl es im Textfeld 0 anzeigt, reagiert die IF-Abfrage nicht, und springt weiter lustig zwischen den beiden bildern hin und her!!!
Ich habe schon alle Konvertierungsmöglichkeiten (Number(result)000) versucht - aber irgendwie kann ich die Variable zwar anzeigen, aber nicht abfragen. Auch irgendwas damit zu berechnen geht nicht!!!
Mache ich irgendeinen Fehler oder stehe ich irgendwie auf dem Schlauch oder was ist da los!!! Langsam bin ich am verzweifeln!!!
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]