Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como hacer que solo pueda haber una sesion de la aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=22032)

novaten 04-06-2005 13:09:51

Como hacer que solo pueda haber una sesion de la aplicacion
 
Pos eso, estoy haciendo una aplicacion y lo que me interesa es que cuando se ejectue solo deje una abierta a la vez, es decir si quiero arrancar la aplicacion por segunda vez, que no me deje hacerlo, un saludo.

Koder 04-06-2005 15:38:15

Utilizando Semáforos
 
Hola novaten

Hay varias formas de solucionar ese problema, esta es la que más me ha gustado ;)

En el uses de la fuente de tu aplicación debes incluir Windows y poner algo así más o menos

Código:

 
procedure No_Repetir_Applicacion;
var
  hSemaphore: THandle;
begin
  hSemaphore := CreateSemaphore(nil, 0, 1, 'My Aplication Name')
  if (hSemaphore <> 0) and GetLastError = (ERROR_ALREADY_EXISTS) then
  begin
        {Aqui pones lo que quieres que haga antes de terminar
        por ejemplo, mostrar un mensaje
        o llamar la aplicación que se está ejecutando}
        CloseHandle(hSemaphore);
        Halt;
  end;
end;
 
begin
  No_Repetir_Applicacion;
  Application.Initialize;
  ... 
  Application.Run;
end.

Espero te sea util. :cool:

Koder

novaten 05-06-2005 11:14:05

muchas asias, como la seda :)


La franja horaria es GMT +2. Ahora son las 16:09:10.

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