El 23/06/10 16:19, christian Ortiz escribi�:
Show quoted text 16 lines
El 23 de junio de 2010 02:14, Jos� Antonio Cuello
<josea en artextrading.com <mailto:josea en artextrading.com>> escribi�:
Hola,
Hola
quisiera controlar que en las pdas no me abran 2 veces el programa
de gesti�n, de manera que la segunda vez que se abre el programa
devuelva el foco a la aplicaci�n ya existente y se cierre la nueva
instancia del programa.
No trabajes con clases estaticas, creala en tiempo de ejecucion y usas
la funcion assign para ver si esta creada o no
ein ??
Creo que no lo entendiste, Christian.
En pda no se como ir�, pero supongo que igual que en win32. Tienes varias formas o soluciones y todas se basan en lo mismo: si la bandera esta arriba, ya te estabas ejecutando.
Te enumero algunas posibles:
1. Usando un Mutex.
2. Usando un semaforo.
3. Usando un fichero temporal a modo de semaforo.
...
Personalmente suelo usar la primera forma en la siguiente manera:
Program p1;
[..]
var Mutex: THandle;
begin
Mutex := CreateMutex(nil, true, 'mimutex');
if (Mutex = 0) or (GetLastError = ERROR_ALREADY_EXISTS) then
begin
// si estoy aqui, es que ya me estaba ejecutando...
end else
begin
// aqui, soy el unico con ese mutex!
[..]
codigo de la aplicacion
[..]
// destruimos el mutex
if Mutex0 then
CloseHandle(Mutex);
end;
end;
No se que tal se ver�...
Por cierto, �por qu� no veo mis mensajes a la lista? �Tengo que hacer algo en especial?
Show quoted text 35 lines
Alguien me puede indicar como hacer al arrancar el programa para mirar
si ya est� abierto. Gracias y un saludo.
si no esta asignada la creas, si es lo contrario. solo la muestras...
________________________________________________________________________
ARTEX TRADING S.A.
Jos� Antonio Cuello Principal
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
<mailto:Lazarus-es en lists.lazarus.freepascal.org>
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
--
Christian
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es