FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Programa multiusuario, y que pasa si se corta la luz?
Hola amigos como andan? El otro dia se me planteo un problema y no logro resolverlo.
Problema:
__________________
No todo es la maravilla de japon!. |
#2
|
||||
|
||||
Supongo que el programa tendrá un archivo de configuración por ahí... en ese caso, añade un registro llamado "CerrarCorrectamente" o algo así. Que por defecto almacene un valor booleano en "true" (correcto, vamos). Que al cargar el programa lo tone "false" y lo guarde, y que no se ponga otra vez en true hasta que el programa se vaya a cerrar definitivamente (pero vamos, que sea lo último que ejecute antes de Close o Terminate).
Eso te servirá para saber si se fue la luz (o si el proceso ha sido cerrado por arte de magia, por si se produjo un error...); ya, saber qué usuario estaba es cuestión de que se guarde también en ese fichero de configuración. "ÚltimoUsuario" o algo así, para que te entiendas. Espero que te sirva de ayuda. Salu2. |
#3
|
|||
|
|||
hazle como el messenger.
a mi me ha pasado que dejo. el messenger activo con mi cuenta. jxj@hotmail.com y voy al ciber de mi amigo, y abro el messenger en una de sus pcs. e inicio sesión con mi cuenta jxj@hotmail.com y solo se mantiene activo el ultimo messenger. |
#4
|
||||
|
||||
Yo tengo un fichero de usuarios con un campo booleano para cada usuario en donde figura si está conectado o no.
Cada vez que intenta entrar en el sistema se comprueba usuario y contraseña y también si ya está conectado, si está conectado no se le deja entrar. Solamente el que se conecta como administrador tiene la posibilidad de ver este fichero y marcar a alguién como desconectado si por algún fallo quedó en esa situación y por lo tanto no puede entrar al sistema. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
Hola...
Yo lo hago de la siguiente manera: Cada que un usuario entra creo un registro de entrada, más o menos así: Login (fecha de entrada) - Logout (null) - PCName (nombre del equipo desde el cual ingresa)... Cuando el usuario cierra la aplicación, establesco el valor de Logout, con eso ya se si el usuario cerró bien la aplicación. De esta forma puedo saber si un usuario está activo y por medio de otros permisos puedo permitirle tener más de una sesión o no. Obviamente el Admin puede tener más de una sesión activa... Cuando la aplicación falla y el usuario quiere entrar desde el mismo equipo, el sistema detecta esto y le permite entrar cerrando la sesión que quedó abierta... Si la última sesión abierta tiene más de un día, hace el mismo procedimiento y deja que el usuario ingrese a la aplicación... Esto hasta ahora me ha dado buenos resultados... Saludos... |
#6
|
||||
|
||||
Gracias amigos por sus opiniones y consejos, les cuento que estuve probando de hacerlo mediante el siguiente trigger.
Funciona a medias, ya que si se habre cualquier otra aplicacion de la misma maquina y crea otra instancia en la BD, al cerrar esta aplicacion hace que se me borre el registro para la cual lo estoy creando. Tendria que ponerle un IF <nombre aplicacion > para controlarlo pero todavia no he encontrado nada de como obtener los nombres de los programas que estan conectados a la BD sin ser el administrador de la BD. Gracias por todo!! Saludos!!.
__________________
No todo es la maravilla de japon!. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Lo que pasa cuando un sistema se diseña, programa y libera mal. | AzidRain | La Taberna | 12 | 08-12-2007 17:29:47 |
Se corta la conexion con la BD Firebird | tulio | Firebird e Interbase | 7 | 01-08-2007 12:25:09 |
Premio novela corta | Investment | Humor | 2 | 24-02-2005 14:23:14 |
|