Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Providers (https://www.clubdelphi.com/foros/forumdisplay.php?f=10)
-   -   No logro ejecutar un funcion en un módulo de datos remoto (https://www.clubdelphi.com/foros/showthread.php?t=83894)

GerTorresM 12-08-2013 17:07:05

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 !!

Ñuño Martínez 14-08-2013 12:21:54

Creo que has olvidado informar al cliente de la existencia del método "busquedaPropietario", o quizá este esté mal definido. Nunca he trabajado con DCOM, así que no puedo decirte mucho más.


La franja horaria es GMT +2. Ahora son las 07:38:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi