Bonjour,
je cherche une méthode élégante afin d'empêcher le multi-lancement du même service. Pour cela, je désactive (enabled=false) les boutons sur le lancement et je le réactive sur l'event fault ou result.
Pour le moment je travaillais basiquement sur les id des boutons pour effectuer cela mais j'ai quelques méthodes as3 pointant vers un seul service PHP et le résultat doit s'afficher dans tel champ en fonction du target bouton.
Je cherche donc au lieu de créer dans ce cas plusieurs méthodes as3 dont le result pointe vers tel ou tel champs, passer plutôt l'objet event dans mon service PHP qui lui même me le renverrait dans le retour me permettant ainsi d'exploiter mon événement et de retrouver mon champ associé.
J'arrive convenablement (je pense) à envoyer mon event :
Mon service PHP:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 protected function chargerSymboles(event:MouseEvent):void { event.target.enabled = false; monService.chargerSymboles(event); }
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public function chargerSymboles($reference){ $retour = array(); $retour['reference'] = $reference; $statement = $this->_connexion->query('SELECT DISTINCT symbole AS valeur FROM insertions'); while($ligne = $statement->fetchObject()) $retour['valeurs'][] = $ligne->valeur; return $retour; }
Or, je n'arrive pas dans l'event result à récupérer mon objet event :
Dans les 2 cas (et tous les autres), la méthode plante, pour lui retour["reference"] n'est pas un event. En castant cela est pareil aussi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 protected function chargerSymboles_resultHandler(event:ResultEvent):void { var retour:Array = event.result as Array; /* ex : */ Alert.show(retour["reference"].type); /* ou alors */ if(retour["reference"] is Event) Alert.show("c'est un event"); }
Quelqu'un aurait il une idée pour faire ce que je souhaite ?
Merci
Partager