En el servidor DataSnap hice lo que puse antes en el modulo de los metodos que son visibles desde los clientes, una funcion que se le pasa como parámetros una consulta y devuelve unos resultados en el objeto TSQLQuery
y en el cliente la uso de la siguiente manera, despues de haber comprobado y generado la clase respectiva en el cliente con la respectiva funcion del servidor:
Código Delphi
[-]
var Consulta:TServerMethods1Client;
Data:TSQLQuery;
begin
Data :=TSQLQuery.Create(nil);
Consulta := TServerMethods1Client.Create(ClientModule1.DataSnapCon.DBXConnection);
try
s:= 'select id_acceso from accesos where'+
' (id_acceso not in '+
' ( select id_acceso from acceso_usuario where id_usuario = '+ IntTostr(Idu)+'))' ;
Data := Consulta.GetServerComandos(s);
finally
Consulta.Free;
end;
donde DataSnapCon es la conexion al servidor DataSnap y GetServerComandos es la funcion que tengo creada en el servidor que se le pasa una onsulta como parámetros y me devuelve un TSQLQuery.
y me da en esta linea Data := Consulta.GetServerComandos(s);
el error
Remote error : Insufficientent RTTI available to support this operation