FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Evitar multiples instancias de nuestra aplicacion
Este truco lo encontre navegando por internet y fue uno de esos descubribientos al azar con los que a veces uno se topa. El objetivo del siguiente codigo es evitar que nuestro programa sea abierto mas de una vez en el ordenador. Es decir evitar multiples instancias de nuestro programa.
Primero creen una nueva Unit y coloquen el siguiente codigo dentro de ella
Segundo salven la unit con el nombre CheckPrevious Tercero ahora deben incluirla en cualquiera de sus proyectos y hacer un agregado al codigo en el archivo de proyecto de su aplicacion como se ve aqui abajo. Recuerde que para agregar esta unit a su proyecto recomiendo copiar su archivo a la misma carpeta en la que esta su aplicacion en desarrollo y luego agregarla con Add file to proyect pulsando en delphi 2007 SHIFT+F11
Otro ejemplo de su uso
|
#2
|
|||
|
|||
Muy útil, me vino bárbaro.
Justo lo que necesitaba. También necesitaba, en otra aplicación, no el hecho de restaurar las instancias previas, sino simplemente evitar las nuevas. Pero tocando un poquito se logró. Buen aporte! |
#3
|
|||
|
|||
Muy util, excelente
|
#4
|
||||
|
||||
Gracias, excelente solución, me ha servido de mucho
|
#5
|
||||
|
||||
Realmente me alegra poder hacer aportes a otros desarrolladores, muchas gracias por sus comentarios
|
#6
|
||||
|
||||
Excelente aporte casacham
Se agradece enormemente |
#7
|
||||
|
||||
Existe un componente para Lazarus llamado Uniqueinstance que hace lo mismo. Lo interesante de este componente es que funciona tanto en Windows como en Linux. Aquí se explica cómo instalarlo y usarlo:
http://wiki.freepascal.org/UniqueInstance/es Este componente ya viene preinstalado en la distribución Lazarus Codetyphon.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma. |
#8
|
|||
|
|||
Evitar multiples instancias de nuestra aplicacion
Excelente!!! Es justo lo que andaba buscando para implementarlo en mi sistema...
Muchas gracias... |
#9
|
|||
|
|||
Evitar en C++ Builder
Por si alguien lo nececita en C++ Builder, añadir en la función main:
Código:
const char UnicoNombre[] = "MiPrograma"; HANDLE hHandle = CreateMutex(NULL, TRUE, UnicoNombre); if(ERROR_ALREADY_EXISTS == GetLastError()) { ShowMessage("El programa ya está en ejecución"); return(1); } |
|
|
|