flex远程Objectc封装使用
?
package as3.tools
{
?import mx.rpc.AbstractOperation;
?import mx.rpc.events.FaultEvent;
?import mx.rpc.events.ResultEvent;
?import mx.rpc.remoting.RemoteObject;
?
?/**
? * 远程Oject请求
? */
?public final class OjectRequet
?{?
??private var object:RemoteObject;
??private var remoteMethods:AbstractOperation;
??/**
?? * __objectDes:远程对象地址
?? * __fun:远程方法
?? * __sucessfun:调用成功事件
?? * __failedfun:调用失败事件
?? */
??public function OjectRequet(__objectDes:String,__fun:String,__sucessfun:Function,__failedfun:Function)
??{
???object=new RemoteObject();
???object.destination=__objectDes;
???remoteMethods =object.getOperation(__fun);
???remoteMethods.addEventListener(ResultEvent.RESULT,__sucessfun);
???remoteMethods.addEventListener(FaultEvent.FAULT,__failedfun);
??}
??/**
?? * 调用远程方法
?? *? __args:参数组
?? */
??public function call(__args:Array):void{
??if(__args.length==0){
??remoteMethods.send();
??}else if(__args.length==1){
??remoteMethods.send(__args[0]);
??}else if(__args.length==2){
??remoteMethods.send(__args[0],__args[1]);
??}else if(__args.length==3){
??remoteMethods.send(__args[0],__args[1],__args[2]);
??}else if(__args.length==4){
??remoteMethods.send(__args[0],__args[1],__args[2],__args[3]);
??}else if(__args.length==5){
??remoteMethods.send(__args[0],__args[1],__args[2],__args[3],__args[4]);
??}else if(__args.length==6){
??remoteMethods.send(__args[0],__args[1],__args[2],__args[3],__args[4],__args[5]);
??}
??}
?}
}