13 February 2005

Flash remoting et AS2

Je n'avais pas encore utilisé les classes flash remoting spécifiques à mx2004 et AS2 jusqu'à aujourd'hui et ça n'a pas été une partie de plaisir.
Apparemment les nouvelles classes sont accessibles via une librairie commune, donc il faut glisser un MovieClip sur la scène pour avoir accès aux classes .. milles sabords !! et donc si on ne le sait pas et qu'on essaie ceci: import mx.remoting.Service; eh bien ça ne va pas :( Il y a en fait des classes à télécharger et à copier manuellement dans le répertoire où se trouvent les classes de MX2004. Tout est bien expliqué ici (en anglais).
UPDATE: très bonne resource en FR ici
J'ai aussi trouvé une petite erreur dans la documentation, voici un exemple de code que j'ai réussi à exécuter, au cas où...

import mx.remoting.Service;
import mx.remoting.PendingCall;
import mx.rpc.RelayResponder;
import mx.rpc.ResultEvent;
import mx.rpc.FaultEvent;

class Database extends ... {

function Database(){
myService = new Service("http://localhost:8080/flashservices/gateway", null, "MetaDatas", null, null);
var temp_pc:PendingCall = myService.getTablesNew(name);
temp_pc.responder = new RelayResponder(this, "getTables_Result", "getTables_Fault");
}

function getTables_Result(re:ResultEvent) {
trace("result"+re.result.getLength());
}
function getTables_Fault(fault:FaultEvent):Void {
trace("There was a problem: "+fault.fault.faultstring);
}