PDA

Ver la Versión Completa : TDCOMCOnnection 'Acceso denegado'


Tequila
29-10-2004, 03:20:19
Hola a todos:

soy nuevo en el foro y necesito ayuda de los expertos :D :

tengo una aplicacion cliente y una aplicacion (exe) servidora, ambas desarrolladas en Delphi6, la aplicacion servidora ya ha sido registrada (ejecutada en el equipo servidor)

en mi aplicacion cliente utilizo un TDCOMConnection, y el unico codigo que tengo (en un boton) es:
DCOMConnection.Connected := false;
DCOMConnection.ComputerName := Edit1.Text;
DCOMConnection.Connected := true;

al ejecutar este codigo de mi aplicacion cliente desde un equipo remoto me da el mensaje 'Acceso denegado', pero desde el mismo equipo donde esta la aplicaion no, saben porque?, me falta algo?, o es cuestion de la red?

de antemano gracias..

perdon... la red es sobre Windows XP profesional SP 1a.

CORBATIN
29-10-2004, 16:35:26
Supongo que le habrás puesto el nombre del ServerName de la aplicación servidora?. Es algo que no comentas y por eso te puede dar el fallo.

Tequila
29-10-2004, 20:54:03
Disculpa que haya olvidado mencionarlo :D , pero si, el nombre dela aplicacion servidora ya lo tengo asignado desde diseño. Lo unico que me interesa probar es la comunicacion a traves de DCOM, por eso solo puse ese codigo. Por lo pronto sigo con el problema, tal ves puedas ayudarme.

El administrador de la red me dice que cambie a conexion por Socket, es Mejor?, que ventajas tiene?, alguien que tenga experiencia en Sockets?,

Gracias de nuevo.

CORBATIN
29-10-2004, 21:00:50
Por lo que puedo saber, la conexión con Dcom es más problemática por temas de derechos de accesos y esas cosas, en cambio por socket lo único que tienes que tener activado es el ejecutable scktsrvr.exe y ya esta, es mucho menos complicado y no necesita ningún permiso de acceso al menos en principio, un saludo.

PD: en mi proyecto yo he utilizado socket y va genial.

Tequila
29-10-2004, 21:10:37
Muchas gracias CORBATIN, probare los sockets.

R_Richards
06-02-2005, 00:18:08
Saludos..
El Problema que te pasó cuando instalaste tu cliente en otro PC e intentaste activar al servidor, fué que NO ejecutaste el programa DCOMCNFG del Sistema operativo en la máquina servidor. Al no hacer esto, el DCOM Server no tiene asignado los permisos para que los clientes puedan accesarlo.

Debes darle permiso a cualquier DCOM Server que crees, para que los usuarios remotos puedan ejecutar los metodos.

El amigo CORBATIN tiene razón en que los DCOMs son un poco problemáticos, pero el envio de datos basados en pase de parámetros es mucho más fácil que el tratamiento sobre Socket.

Cualquier cosa que necesites en este aspecto estoy a tus ordenes...

Rafael Richards

Oxa78
08-02-2005, 16:18:17
Saludos, debes considerar los permisos y atributos del usuario de la pc donde corre tu cliente.

1.- La pc cliente debe pertenecer al domino de Windows.
2.- El usuario de la pc cliente debe estar registrado en el servidor (Win2000 Server) y como minimo debe tener un perfil de Operador de Copia. Si es un usuario normal no tendra acceso.
3.- Registrar las siguientes librerias (solo si no tienes instalado Delphi en la pc Cliente)

dbclient.dll
Mfc40.dll
Midas.dll
Msvcrt40.dll
stdvcl32.dll
stdvcl40.dll

Tequila
08-02-2005, 18:53:20
Gracias Rafael, y tambien gracias a ti Joseph.

de momento mi aplicacion esta trabajando bien con Sockets, pero tomare en cuenta su informacion si decido regresar a DCom..

de nuevo gracias a ambos.:)