Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-05-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Controlar / Vigilar Usuario que ejecutan el programa

Buenos días,

estoy haciendo un programa a ratos desde casa con delphi xe5 y access y cuando hago cambios lo subo por control remoto al servidor para evitar tener que acercarme a la oficina.

Como tengo que borrar el .exe y meter el nuevo siempre necesito asegurarme que nadie lo está ejecutando.

Teniendo en cuenta que el programa está en un servidor y es ahí donde accedo por control remoto.

¿Es posible saber si alguien está ejecutando el programa (y saber qué usuario es)?

En caso de que sea posible, si alguien tiene el programa en ejecución ¿se podría cerrar?

Gracias por vuestra ayuda

Un abrazo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 28-05-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que si alguien lo está usando, no podrás borrarlo.
Responder Con Cita
  #3  
Antiguo 28-05-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Puedes tener una tabla de usuarios y su última fecha y hora de conexión.
  1. En la aplicación pones un timer cada 1 minuto (o lo que consideres apropiado).
  2. Cada vez que se lance el timer, debería guardar la fecha y hora en el campo de la tabla de ese usuario.
Si quies saber quién está conectado, podrías pedir un listado de esa tabla con fecha y hora posterior a 1 o 2 minutos.



También puedes poner una campo PERMITIR_CONEXION en la tabla de usuarios y un timer.
  1. Cada 1 minuto haces que la aplicación mire si el campo está habilitado.
  2. Si está deshabilidato cierras la aplicación.
Si queires desconectar a los usuarios solo debes desactivar ese campo.
Responder Con Cita
  #4  
Antiguo 28-05-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Con firebird puedes consultar cuántos usuarios hay conectados a la base de datos, no sé si con access se puede.
Responder Con Cita
  #5  
Antiguo 28-05-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo que se suele usar en estos casos (como primera solución sencilla) es lo que se llama una lanzadera.
Es un programa que lo único que hace es ejecutar el tuyo (MIPROG.EXE), por ejemplo a partir de un parámetro a un fichero .INI.

Cuando hay una actualización grabas la nueva versión de tu programa (con un nombre distinto o un directorio distinto) y lo único que tienes que hacer es cambiar las opciones de la lanzadera.

A medida que los usuairo vayan saliendo y volviendo a ejecutar la lanzadera, sin darse cuenta estarán ejecutando la nueva versión.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 28-05-2015
Avatar de Manuel
Manuel Manuel is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz/Chile
Posts: 324
Poder: 21
Manuel Va por buen camino
lo que hago yo es renombrar el programa actual en el servidor (lo deja hacer, pero no borrar), después subo la nueva versión, eso si que no tendrán la nueva versión hasta que ejecuten el programa nuevamente.
__________________
Manuel Muñoz L. Trabajando con delphi 7.0 , migrando sistema a Delphi XE8, matando BDE y pasando FIREDAC.
Responder Con Cita
  #7  
Antiguo 28-05-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

Yo lo que hago es un poco bestia pero bastante efectivo. En un timer del formulario principal chequeo la existencia de un fichero determinado en la carpeta del programa, si existe directamente cierro el programa. De esta manera cuando necesites "echar" a todo el mundo fuera solo tienes que crear ese fichero y todos los programas abiertos se cerrarán al momento, luego lo borras o lo renombras, actualizas tu prograna y a volar.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 28-05-2015
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
En un srv windows se puede ver qué usuarios tienen abierto un fichero. Además, si eres administrador, puede echarles. Después podrías copiar tu nuevo ejecutable.

Si no recuerdo mal, se hace desde donde se administran los discos, los servicios, los usuarios, etc. pero no lo recuerdo bien y no tengo ningún srv a mano.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #9  
Antiguo 29-05-2015
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
CTRL + SHIFT + ESC > Procesos > "Mostrar procesos de todos los usuarios"
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
controlar tamaño del programa en ejecución odiseeus C++ Builder 3 04-07-2013 13:20:05
Ejecutar y vigilar varios programas a la vez Anel Hernandez Varios 3 23-01-2012 12:53:18
Timer Un programa para controlar cibers douglas OOP 5 07-08-2007 21:20:54
Algún programa para controlar los cambios David Varios 5 05-04-2007 19:21:22
controlar si mi programa se ejecuta acrophet Varios 3 18-09-2003 16:46:36


La franja horaria es GMT +2. Ahora son las 09:38:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi