puedes usar Function.apply, sino recuerdo mal seria algo asi como

gateway.call.apply(gateway,args);

Un saludo,

Joseba

El día 8/08/07, Jose Mª Balsas <[EMAIL PROTECTED]> escribió:
>
> Hola a todos, perdonad si el título no es muy claro, pero no sabía cómo
> plantearlo de un modo más sencillo.
>
> El problema que tengo es el siguiente: estoy desarrollando una aplicación
> en
> flex, y utilizo amfphp para conectar con el servidor. En un intento de
> reutilizar código, me he encontrado con lo siguiente:
>
> 1.- He creado una clase "RpcManager", que se encarga de gestionar todas
> las
> llamadas a los servicios.
> 2.- "RpcManager" tiene un método público call al que se le pasa un
> identificador del servicio y un número variable de argumentos
>
>         public function call( serviceID:Number, ... args ) : void {
>             var service:RemoteService = services[serviceID];
>             gateway.call( service.address, service.responder, args );
>         }
>
> El problema reside en que dentro de esta función, args es un Array, que es
> lo que se envía al hacer la llamada, en vez de una serie de parámetros,
> por
> lo que al llegar al script, éste detecta un único argumento de tipo array,
> en vez de una serie de ellos.
>
> 3.- Como gateway es de tipo NetConnection, y su método call también acepta
> un número variable de argumentos, este problema puede solucionarse
> haciendo:
>
>              gateway.call( service.address, service.responder , args[0],
> args[1], args[2], args[3], args[4], args[5], args[6]);
>
>      lo cual, aunque funcional, resulta bastante extraño y poco ortodoxo.
>
> ¿Se os ocurre alguna manera de hacerlo de un modo más limpio?
>
> Muchas gracias por todo!
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a