Ver Mensaje Individual
  #1  
Antiguo 12-08-2013
Avatar de GerTorresM
GerTorresM GerTorresM is offline
Miembro
 
Registrado: nov 2005
Ubicación: Tunja - Boyacá
Posts: 210
Reputación: 19
GerTorresM Va por buen camino
No logro ejecutar un funcion en un módulo de datos remoto

Hola a tod@s:

Bien en orden de ideas he empezado a trabajar o mejor a estrellarme con la programación cliente-servidor, en orden de ideas y buscando implementar una solución muy sencilla y opte por trabajar con las siguientes opciones de la herramienta:

Un Servidor - DCOM
Un Modulo de datos - TRemoteDataModule
Una Conexion a Base de datos mediante ADO a (M$ Acess)
para el manejo de los datos utilizo TDataProvider

para probar la conexion y pensando a futuro en el sever genere el siguiente procedimiento

Código Delphi [-]
procedure TServidorDCOM.busquedaPropietario(pApellidos, pNombres,
  pDireccion, pDocumento: string);
begin
  self.ADOQPropietario.close;
  self.ADOQPropietario.Parameters.ParamByName('pApellidos').Value:= '%' + pApellidos + '%';
  self.ADOQPropietario.Parameters.ParamByName('pNombres').Value:= '%'+ pNombres + '%';
  self.ADOQPropietario.Parameters.ParamByName('pNombreDireccion').Value:= '%' + pDireccion + '%';
  self.ADOQPropietario.Parameters.ParamByName('pDocumento').Value:= '%' + pDocumento + '%';
  self.ADOQPropietario.Open;
end;

a continuación ejecuto el servidor y ejecuto el procedimiento, el cual funciona de manera satisfactoria y me muesta los datos que arroja mi consulta, esta ahi todo esta muy bien.


Ahora vamos por el lado del cliente

utilizo una conexion DMCOM y su propiedad coloco ServidorDatos.ServidorDCOM y él me generara en server GUI el siguiente valor {341DBFD9-08BE-4469-AC03-4C209740D0F1}, bien cuando inicia el cliente a su vez ejecuta el servidor con lo que concluyo que se estan enlanzado de forma satisfactoria.

a su vez para trabajar con los datos empleo TClentDataSet y los correspdientes TDataSource, en los TClientDataSet en la Propiedad ProviderName lo asocio con el TDataProvider del servidor

en el cliente mediante un botón ejecuto el codigo que hace la llamada al servidor

el código es el siguiente

Código Delphi [-]
  self.ds3.Close;
  conPredial.AppServer.busquedaPropietario('ALA', '','', '');
  self.ds3.Open;

Al dar click en el boton del cliente me envía el siguiente mensaje

Methotd 'busquedaPropietario' not suppoted by Automation object


Agradezco de antemano cualquier colaboración !!
Responder Con Cita