![]() |
Problema con aplicacion multicapa
Hola:
Estoy implementando una aplicacion multicapa con Delphi 2007. Bien, hasta ahora he hecho lo siguiente: 1. Primero, diseñé un servidor de aplicaciones DCOM, creando una aplicación VCL y utilizando el Modulo de Datos Remoto (Remote Data Module) con la idea de ejecutarlo en una maquina remota que será utilizada como servidor. Utilicé los componentes de la paleta Interbase para conectar con una base de datos Firebird 2.0, que se encuentra en la misma maquina servidora, lo cual se realizó sin ningún problema. (Componentes utilizados: TIBDatabase, TIBTransaction, TIBQuery y TDataSetProvider). 2. A continuación, creé la aplicación cliente con los componentes TClientDataSet y TDCOMConnection y los vinculé. Ahora bien, para que TClientDataSet lea los datos del TDataSetProvider (que se encuentra en el servidor remoto), es necesario configurar el TDCOMConnection correctamente y definir las propiedades "ServerName" y "ServerGUID" (ésta última se obtiene automáticamente al configurar la primera). Pues bien, según he leido en la ayuda de Delphi, es requisito indispensable registrar la aplicacion servidor en Windows, para que el cliente pueda conectarse correctamente. En versiones anteriores a Delphi 2007, la aplicación se registraba en la computadora local cuando se corría en programa, en cambio, ahora, la aplicacion solo se registra cuando se coloca como parámetro '/regserver'. Como prueba, registré la aplicacion servidora en la misma computadora donde corrí el programa cliente, el cual se conectó sin inconvenientes. El problema se presenta cuando instalo el servidor de aplicaciones DCOM en la máquina remota donde esta la base de datos FireBird. El servidor funciona perfectamente, sin embargo, cuando intento conectar elcliente desde otra computadora me aparece el siguiente error en la aplicacion cliente: 'El servicio RCP no esta disponible'. En la propiedad 'ComputerName' del componente TDCOMConnection he puesto el nombre de la máquina remota. Yo creo que el error se debe a que el servidor DCOM no esta registrado correctamente en la máquina cliente, pues la ayuda de Delphi dice exactamente lo siguiente (traducido): Cita:
Quisiera que alguien me dijera cómo se registra un servicio remoto en una maquina windows (XP/Vista), o me indicaran otra solucion al problema. Si me pueden ayudar se los agradecería. |
Me imagino que igual a como lo registraste en la pc local con
Regsvr32 <ruta y nombredelejecutable> |
Ya lo he probado antes y ambos procedimientos dan error:
Código:
regsvr32 //SERVIDOR\Servidor.exe Código:
//SERVIDOR\Servidor.exe /regsrver |
Mauro,
El nuevo DataSnap en Delphi 2009 no necesita COM. en esta liga tienes un ejemplo de aplicacion DataSnap con Delphi 2000 http://cc.codegear.com/Author/38483 Saludos, Andreano Lanusse Embarcadero Technologies |
Saludos a todos.
Lo que te recomiendo es que veas los que son derechos de usuarios en el servidor. 1.- En el servidor te vas a Herramientas Administrativas de ahi seleccionas Servicios de componentes Te muestra una nueva pantalla Servicios de Componentes --> Equipos --> Mi PC -- Configuracion DCOM Buscas el nombre de tu aplicacion o tu aplicacion servidora Seleccionas y das click con boton derecho y Propiedades Te aparece una pantalla seleccionas la pestanya Seguridad Y personalidad en Permisos de Incio y Activacion agregando el grupo de usuario que quieres que tengan acceso o al usuario Luego personalizas tambien en Permisos de Acceso de la misma forma que hiciste en el paso anterior En estas personalizaciones marcas las casillas dandole activacion y ejecucion y acceso tanto local como remoto. Cuando hayas terminado das aplicar y aceptar y luego prueba tu aplicacion Espero te sirva Ernesto Lopez |
Cita:
|
Registro
Cita:
Gracias. |
Te recomiendo que no sigas la ruta de COM. Es muy complicada y es un lio a la hor de despliegue.
Mejor usa protocolos simples y estandares , como http y tcp-ip |
La franja horaria es GMT +2. Ahora son las 03:57:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi