ebbechiMedlem sedan okt. 20047 inlägg Jag tror inte att scriptets funktion har någon betydelse för det jag frågar, men i vilket fall, här kommer scriptets funktion, bara ifall att.
Användaren matar in text,
trycker på en knapp,
Texten läses in, frågetecken tas bort, stringen ifråga omvandlas till en egen array, varje ord kollas mot ett par bestämda ord i en annan array.
Ifall ett ord matchar ordet i arrayen så kollar scriptet i en tredje array och skriver ut en kommentar.
Problemet är nu att om man trycker två gånger på knappen, utan att hela scriptet körts klart, kolliderar de två funktionerna med varandra, och gör så att scriptet skriver ut "undefined" i all evighet.
Jag behöver på något vis låsa funktionen så att den inte går att kalla igen innan den har körts klart, hur gör man detta i flash?
I java går det med synchronize och i perl går det med FLOCK, men detta e ju varken java eller PERL :-/
Lägg in en flagga, dvs en variabel med ett boolskt värde. denna flagga säts till true när du klickar på klnappen och sedan till false när den är klar.
Sedan så i funktionen som anropas när någon klickar på knappen så kollar du först vilket värde din variabel har. Är den false så kör koden. Är den true så gör inget.
/Mirandir
ebbechiMedlem sedan okt. 20047 inlägg Tack!
Tack ändå!
Enda problemet är då starten, eftersom man måste sätta det boolska värdet till sant första gången, i annat fall startar aldrig loopen.
Först löste jag det hela genom att lägga startvariabeln i en första fram och sen gå till den frame där hela scriptet låg.
Sen kom jag på en snyggare lösning, jag satte
minKnapp.enabled = false;
Så fort man tryckte på knappen och när allting kört klart
minKnapp.enable = true;
Fast det är ju egentligen samma sak, fast man slipper en if-sats.
STORT tack ändå mitrandir