Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 28/05/2015
Delphitest Delphitest is offline
Miembro
 
Join Date: Sep 2006
Location: Salamanca-España
Posts: 249
Poder: 20
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)
Reply With Quote
  #2  
Old 28/05/2015
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Creo que si alguien lo está usando, no podrás borrarlo.
Reply With Quote
  #3  
Old 28/05/2015
duilioisola's Avatar
[duilioisola] duilioisola is offline
Miembro Premium
 
Join Date: Aug 2007
Location: Barcelona, España
Posts: 1,806
Poder: 22
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.
Reply With Quote
  #4  
Old 28/05/2015
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví 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.
Reply With Quote
  #5  
Old 28/05/2015
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,449
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.
Reply With Quote
  #6  
Old 28/05/2015
Manuel's Avatar
Manuel Manuel is offline
Miembro
 
Join Date: May 2003
Location: San Pedro de la Paz/Chile
Posts: 324
Poder: 24
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.
Reply With Quote
  #7  
Old 28/05/2015
newtron's Avatar
[newtron] newtron is offline
Membrillo Premium
 
Join Date: Apr 2007
Location: Motril, Granada
Posts: 4,216
Poder: 24
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.
Reply With Quote
  #8  
Old 28/05/2015
fjcg02's Avatar
[fjcg02] fjcg02 is offline
Miembro Premium
 
Join Date: Dec 2003
Location: Zamudio
Posts: 1,418
Poder: 24
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 -
Reply With Quote
  #9  
Old 29/05/2015
movorack's Avatar
[movorack] movorack is offline
Miguel A. Valero
 
Join Date: Feb 2007
Location: Bogotá - Colombia
Posts: 1,346
Poder: 22
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
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
controlar tamaño del programa en ejecución odiseeus C++ Builder 3 04/07/2013 13:20
Ejecutar y vigilar varios programas a la vez Anel Hernandez Varios 3 23/01/2012 12:53
Timer Un programa para controlar cibers douglas OOP 5 07/08/2007 21:20
Algún programa para controlar los cambios David Varios 5 05/04/2007 19:21
controlar si mi programa se ejecuta acrophet Varios 3 18/09/2003 16:46


All times are GMT +2. The time now is 21:10.


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