Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

control de la ejecución en curso
#1

Hola gente, estoy buscando por internet y dentro del foro y no escuentro nada al respecto, seguramente estoy buscando mal.

La cuestión es que quiero que mi aplicación no se pueda ejecutar varias veces al mismo tiempo, y no encuentro como armar el registro que busque si la aplicación ya está corriendo.

Gracias de antemano  Big Grin
    ¡Gracias!
#2

Propongo esta pagina del wiki del foro italiano de Gambas:

   https://www.gambas-it.org/wiki/index.php...A0_avviato

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#3

geniale!!! per tutti i gusti  Smile
    ¡Gracias!
#4

Añado también este código con los únicos recursos de Gambas, leyendo un par de archivos de la carpeta del proceso del programa .gambas lanzado.:

GAMBAS
  1. Public Sub Form_Activate()   ' o  Sub Main() con un programa con "interfaz de linea de comandos"
  2.  
  3.   Dim s, cmdline As String
  4.   Dim id As New String[]
  5.  
  6.   For Each s In Dir("/proc", "*", gb.Directory)
  7.     If Exist("/proc" &/ s &/ "cmdline") Then
  8.       cmdline = File.Load("/proc" &/ s &/ "cmdline")
  9.       If (cmdline Like "*" & Application.Name & ".gambas*") Then
  10.         id.Push(Split(File.Load("/proc" &/ s &/ "stat"), Chr(32))[0])
  11.         If id.Count > 2 Then
  12.           If id[id.Max] > id[id.Max - 1] Then Quit
  13.         Endif
  14.       Endif
  15.     Endif
  16.   Next
  17.  



"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#5

GAMBAS
  1.  
  2. Private Sub VisorYaEstaAbierto() As Boolean
  3.  
  4.   subR1.ExisteCarpeta(vp.DirBD)
  5.   Wait 0.05
  6.   subR1.ExisteCarpeta(vp.DirConfig)
  7.   Wait 0.05
  8.  
  9.   subLog.Activar()
  10.  
  11.   Try hLock = Lock vp.DirConfig &/ ".lock"
  12.     subR1.EscucharSonido("Sonidos/atencion.ogg") '04 ene 2021
  13.     Message.Warning("VisorRV1960 ya se encuentra abierto!!" & gb.NewLine &
  14.       gb.NewLine & "Si esta seguro que abrió VisorRV1960 una sola vez, intente desde consola: visorrv1960 -l")
  15.     Return True
  16.  
  17.  
  18.  
  19. 'en evento close esto:
  20.  If Exist(vp.DirConfig &/ ".lock") Then '18 dic 2020
  21.     Kill vp.DirConfig &/ ".lock"



El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)