![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola a todos,
Si, Delfino, he pensado en hacerlo usando DLL, de hecho lo estoy implementando asi y parece que podre obtener lo que pretendo... Me explico y asi respondo tambien la cuestion de Neftali: La razon para hacerlo en dos formularios diferentes es que me interesa disponer del siguiente escenario: - La aplicacion es cliente-servidor usando DataSnap via HTTP... - En la parte del cliente se ejecutara un EXE que solamente pedira el usuario y el password y comunicara con el servidor para validarlo... - Tambien en la parte del cliente existira una DLL que "encapsula" toda la aplicacion (formulario principal y todos los formularios etc)... - Si la validacion que realiza el EXE es correcta, se ejecutara la procedure de la DLL que abre el formulario principal de la aplicacion, si la validacion no es correcta nunca llegara a ejecutarse esta llamada dando un mensaje de "Usuario o password incorrectos, vuelva a intentarlo, etc..."... - El EXE que pide el usuario y password, ademas de conectarse con el servidor para validarse, tambien solicitara al servidor si existe una version mas actualizada de la DLL (que encapsula toda la aplicacion) y, si es asi, bajara del servidor la nueva DLL hacia el cliente para actualizar la aplicacion... - Y esto ultimo es el motivo por el que me interesa que el programa EXE de validacion sea diferente de la DLL que encapsula toda la aplicacion, porque si fuera el mismo no podria sustituir el archivo que esta siendo ejecutado, en cambio con este sistema lo que sustituyo es la DLL que aun no se esta ejecutando... No se si me explico... Ahora estoy con el tema del EXE ejecutando la procedure de la DLL que ejecuta la aplicacion y parece que funciona bien... Despues tendre que pelearme con el tema de como bajar la DLL del servidor si debe de actualizarse, aun no se como hacerlo pero indagare... Por lo que se refiere a la privacidad del usuario y contraseña pienso que es una buena opcion ya que tanto el dato de "usuario" y "password" se trasladan desde el EXE de los inputs a la DLL de la aplicacion "internamente" como parametros de una procedure... En principio, cuando la aplicacion ya se esta ejecutando despues de la validacion, no necesito comunicarme con el primer EXE, asi que lo que hago es un "Hide" antes de llamar a la procedure de ejecucion de la aplicacion para ocultarlo i listos... Un saludo y gracias a todos... Josep Mª |
|
#2
|
|||
|
|||
|
Hola a todos,
De vuelta con el mismo tema... Como comente en el ultimo mensaje, finalmente opte por crear una DLL en la que tenia una sola procedure que se encarga de ejecutar la aplicacion... Desde un EXE diferente, declaro la DLL i en el evento del boton "Acceder", ejecuto la procedure de la DLL que me arranca la aplicacion (le paso como parametros, el usuario, etc...)... Todo funciona perfecto hasta que, desde el formulario principal cierro la aplicacion... Entonces la procedure de la DLL finaliza, se devuelve el flujo al EXE i este, al cerrarse lanza un error de "Acces violation"... Lo curioso es que el error solo lo da cuando lo ejecuto desde RAD Studio, si lo ejecuto desde Windows XP no da el error, en cambio si lo ejecuto desde Windows 2008 Server tambien da el error... Por si podeis ayudarme aqui esta el codigo de la DLL y del EXE: -
El codigo del EXE es este (resumiendo):
Parece como si el "objeto" Application del EXE ya no exista al volver de la DLL... Pero parece que deberian ser diferentes... No se, si alguien puede ayudarme se lo agradecere... Un saludo Josep Mª |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Es posible ejecutar mi aplicacion desde otro programa ? | gaston260 | API de Windows | 5 | 15-03-2011 00:15:30 |
| ejecutar otro programa php | srangel | PHP | 3 | 01-04-2005 17:11:27 |
| ejecutar un programa dentro de otro | migueilichenco | Varios | 1 | 28-11-2003 20:39:03 |
| Ejecutar un programa DENTRO de otro programa | seduerey | Varios | 8 | 12-11-2003 13:56:20 |
| Ejecutar algo despues de WinExec u otro | Tonio | Varios | 1 | 03-09-2003 15:46:23 |
|