PDA

Ver la Versión Completa : Controlar Uso aplicacion


ASUNCION
30-06-2013, 01:17:47
Que hay muchachos,

Estoy tratando de manejar los usuarios conectado a una aplicación, cuando el usuario se loguea captura en una tabla los datos de este usuario y cuando este cierra el programa busco este usuario y lo elimino, pero cuando el programa lo cierran de manera forzada (por el admistrador de tareas o si apagan la pc sin cerrar la aplicación), entonces se queda el usuario como si estuviera conectado,

alguien sabes como puedo manejar esto, uso delphi 7 y sqlserver.

Casimiro Notevi
30-06-2013, 01:41:12
alguien sabes como puedo manejar esto
Puedes manejar según como quieras o te interese. Lo mismo te interesa para saber cuándo se ha salido del programa de modo anormal, por ejemplo.

ASUNCION
30-06-2013, 02:25:05
Puedes manejar según como quieras o te interese. Lo mismo te interesa para saber cuándo se ha salido del programa de modo anormal, por ejemplo.


No entiendo tu respuesta o tu no entendiste mi pregunta

Casimiro Notevi
30-06-2013, 10:06:55
No entiendo tu respuesta o tu no entendiste mi pregunta

Bien, puede que no "nos" hayamos entendidos :), por eso mismo deberías intentar explicarlo para que todos lo entendamos ;)

ASUNCION
30-06-2013, 21:20:11
Bien, puede que no "nos" hayamos entendidos :), por eso mismo deberías intentar explicarlo para que todos lo entendamos ;)

Bien tengo un sistema multiusuarios hecho en delphi 7 y sql server, quiero saber como administrador del sistema quien esta usando la aplicacion en cualquier momento,

Como lo hago?. Capturo en una tabla cada usuario cuando inician una sección y elimino este usuario cuando cierran la aplicacion (antes del application.Terminate) , con esto puedo ver quien tiene una seccion iniciada, pero si alguien apaga la pc sin salir del sistema o lo cierra con el task manager de windows, la seccion no se elimina.

Espero me hayan entendido...

newtron
01-07-2013, 10:06:12
Hola.

En ese caso una cosa que puedes hacer es dar la opción de "liberar" el usuario que realmente lo que hace es quitar la marca de usuario activo.

Saludos

Neftali [Germán.Estévez]
01-07-2013, 11:01:43
En mi caso lo que he utilizado alguna vez son "marca de vida" (timestamp).
Funciona de la siguiente manera:

* Al entrar en la aplicación marcas en la tabla el usuario y la fecha/hora de entrada de entrada.
* Al salir de la aplicación marcas la fecha/hora de salida
* Cada minuto (por ejemplo), marcas en la misma tabla que ese usuario "está vivo", por ejemplo con un Timestamp (fecha actual).

Si la aplicación se cierra correctamente no hay problema.
En el caso de que la aplicación se cierre de forma incorrecta, la marca de TimeStamp te dirá las sesiones que se han cerrado de forma incorrecta y que por lo tanto no están activas. Si la marca de tiempo la haces cada minuto, todas aquellas "marcas de vida" que tengan una antiguedad de más de 3 minutos (por ejemplo -para asegurarte-) sabes que son de sesiones que se han cerrado mal.

No se si me explico...

ecfisa
01-07-2013, 11:19:33
Bien tengo un sistema multiusuarios hecho en delphi 7 y sql server, quiero saber como administrador del sistema quien esta usando la aplicacion en cualquier momento,
Como lo hago?
Hola ASUNCION.

No manejo MS SQL Server, pero te agrego estos enlaces relacionados con tu consulta que tal vez te puedan servir:

How to find out the users logged in to a SQL Server (http://www.sqlservercurry.com/2008/02/how-to-find-out-users-logged-in-to-sql.html)
How to get a list of users for all instance's databases (http://stackoverflow.com/questions/2445444/how-to-get-a-list-of-users-for-all-instances-databases)
how to see active SQL Server connections? (http://stackoverflow.com/questions/1248423/how-to-see-active-sql-server-connections)


Saludos. :)