Ver Mensaje Individual
  #5  
Antiguo 03-03-2011
juank1971 juank1971 is offline
Miembro
 
Registrado: feb 2008
Posts: 230
Reputación: 17
juank1971 Va por buen camino
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);  // creo un objeto TSQLQuery vacio
 
  Consulta := TServerMethods1Client.Create(ClientModule1.DataSnapCon.DBXConnection);
    // creo el objeto de  acceso a los metodos en el cliente con la conexion DataSnap realizada
  try
     s:= 'select id_acceso from accesos where'+
    ' (id_acceso not in '+
    ' ( select id_acceso from acceso_usuario where id_usuario = '+ IntTostr(Idu)+'))' ;
 
 //asigno el resultado de la fucnion del servidor al objeto Data con la query 
//pasada como parametros      
    Data := Consulta.GetServerComandos(s); 
 
  finally
    Consulta.Free; // libero los metodos
  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
Responder Con Cita