grâce à une décision de conception ou quoi que ce soit Adobe a modifié le contenu de ResultEvent déclenché par un objet HTTPService.HTTPService/ResultEvent avec Flex 3.2 versus Flex> = 3.5
Jetez un oeil à exemple suivant:
var httpService:HTTPService = myHTTPServices.getResults();
httpService.addEventListener(ResultEvent.RESULT,resultHandler);
httpService.send();
/**
* Handels the login process
*/
function resultHandler(event:ResultEvent):void
{
// get http service
var httpService = (event.target as HTTPService);
// do something
}
Il fonctionne comme un charme avec Flex 3.2. Mais lorsque j'essaie de le compiler avec Flex 3.5 ou Flex 4.0 event.target comme HTTPService est null.
J'ai découvert que event.target est maintenant une instance de HTTPOperation. C'est intéressant parce que je ne peux pas trouver HTTPOperation dans le langref. Cependant, je pense que le débogueur de Flash Builder signifie mx.rpc.http.Operation.
Le débogueur montre également que event.target a un attribut privé HttpService qui est l'instance que je m'y attendais à obtenir avec event.target. Mais c'est privé, donc event.target.httpService ne fonctionne pas.
Si je veux seulement enlever le EventListener je peux jeter event.target comme EventDispatcher. Mais j'ai besoin d'utiliser des méthodes de HTTPService. Donc, comment puis-je obtenir l'instance HTTPService à partir de ResultEvent?
Toute aide serait appréciée. Merci!
J.
Merci pour votre réponse ! J'attendrai d'autres réflexions, mais je pense que je dois garder mes propres références. Ce sera beaucoup de travail si! – Julian