Bonsoir,
J'utilise des fonctions gourmandes pour compresser des fichiers en une archive. Comme ces fonctions sont gourmande j'aimerais mettre en place un petit loading avec une progressBar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public function load_archive_treatment():void{
timer = new Timer(100);
timer.addEventListener("timer", run);
timer.start();
}
public function run(event:TimerEvent):void {
var a:int = archiveManager.getFilesTreated();
var b:int = fileSelectionManager.getFilesNum();
if(a < b){
pBar.setProgress(a, b);
}else{
event.stopImmediatePropagation();
stopTimer();
}
}
public function stopTimer():void{
timer.stop();
pBar.initialize();
} |
j'utilise un timer qui "doit" mettre a jour la progressbar tout les 10eme de seconde.Le lancement de mon timer est effectuee via un bouton qui au click donne ca
click="load_archive_treatment();setArchive()"
au click mon timer doit se lancer puis est lance la fonction de traitement de l'archive.
Hors lorsque je click ma fonction se lance mais rien ne se passe au niveau du timer, j'ai tester avec des alertes mais elles sont affichées une fois la fonction de traitement fini .
Y'aurait il un autre moyen de mettre a jour la progressbar comme un listener sur ma fonction (j'ai cherché mais je ne trouve pas comment implementer cette solution)?
PS : les objets archiveManager et fileSelectionManager sont contenus dans des classes ".as" du coup je ne sais pas si on peut et comment interagir avec mon mxml "main"
Partager