Bonjour,

Lors d'une phase d'identification, par exemple, j'utilise un remote object pour accéder à un service PHP. Dans cet exemple, je l'utilise pour verifier si le nom d'utilisateur et le mot de passe font bien parties de la liste des membres de ma table.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
/* Appel de mon service PHP */
public function checkLogin(user:String, pass:String):void
{
	_service = new RemoteObject('amfphp');
	_service.source = _source;
	_service.addEventListener(ResultEvent.RESULT, checkLoginResult);
	_service.addEventListener(FaultEvent.FAULT, errors);
	_service.getOperation("isAdmin").send(user, pass);
}
 
/* Récupération du résultat */
private function checkLoginResult(event:ResultEvent):void
{
	_service.removeEventListener(ResultEvent.RESULT, checkLoginResult);
	_isAdmin = event.result;
}
Jusque là tout va bien, si je fais un Alert.show(_isAdmin) à la fin de ma fonction CheckLoginResult, j'ai bien le booléen attendu.

Maintenant, voilà la problème :
Lorsque je veux utiliser ce booléen pour conditionner la validation de mon formulaire de login, on a l'impression que la variable "_isAdmin" n'est pas mis à jour tout de suite.
En effet, dans l'exemple (url : http://nicolasleborgne.dyndns.org/remote), on peut voir que la première fois que l'on valide l'identification, on atterit sur message d'erreur. Par contre, simplement en re-cliquant sur le bouton de validation, le formulaire disparait signifiant que l'identification est correcte.

En résumé, et après debug, au premier clic, _isAdmin = false, et au deuxième clic, _isAdmin = true.
J'ai fait pas mal de recherches (notamment sur le fait que l'utilisation de ce genre de services est asynchrone), mais je n'arrive toujours pas à régler le problème.

En espérant vivement que quelqu'un puisse m'apporter une réponse.

Merci