PDA

Ver la Versión Completa : Funcion de IAppServer con parametros out


delphijm
01-03-2011, 15:38:50
Hola a todos,

Estoy desarrollando una aplicacion de 3 capas usando dataSnap de Delphi 2007...

En el lado del servidor tengo un Modulo de datos remoto, en el que tengo una funcion que he definido con Type Library y me ha generado la siguiente funcion:


function MiFuncion(var variable1: OleVariant; out variable2: OleVariant): OleVariant; safecall;


Se trata de una funcion que admite como parametro de entrada una variable (variable1) y tiene definida como variable de salida (out) la variable2...
A su vez la funcion devuelve un valor tambien de tipo OleVariant...

El tema esta en que si llamo a esta funcion desde el programa "cliente" me devuelve el siguiente error:

---------------------------
Debugger Exception Notification
---------------------------
Project logistica.exe raised exception class EOleSysError with message 'Destinatario no válido'.
---------------------------
Break Continue Help
---------------------------

Error de "Destinatario no valido"...

Si la funcion NO contiene el parametro de tipo "out" me funciona bien devolviendo el resultado esperado...

El problema esta cuando añado el parametro "out"... Me interesa usar este tipo de parametro porque la funcion deberia devolverme mas de un valor, ademas del que devuelve por "result:="...

Desde el lado del cliente llamo a la funcion de la siguiente forma:

var
param1, param2: Integer;
begin
resultado:=Servidor.AppServer.MiFuncion(param1, param2);
end;


Alguien sabe que puede estar pasando?

Gracias

ElKurgan
02-03-2011, 07:18:10
¿Has probado a pasar el segundo parámetro también como OleVariant en lugar de Integer?

Un saludo

delphijm
02-03-2011, 13:21:59
Hola ElKurgan,

Perfecto!!... Pasandolo como OleVariant me funciona perfectamente...

Muchas gracias

Josep Mª