Evitar cargar + de una vez la aplicación
Evitar cargar + de una vez la aplicación
En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
Re: Evitar cargar + de una vez la aplicación
lRunning := IsExeRunning( "FACTURACION" )dbzap wrote:En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
Regresa un lRunning
William, Morales
Saludos
méxico.sureste
Saludos
méxico.sureste
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
- Raymundo Islas M.
- Posts: 590
- Joined: Tue Mar 14, 2006 11:34 pm
- Location: Acapulco, Gro. MEXICO
Hola
En este momento no tengo a la mano el nombre del colega del foro, que nos posteo esto :
IF IsExeRunning( cFileName( HB_ARGV(0) ) )
MsgInfo( 1, "NO ES POSIBLE EJECUTAR EL MODULO ADM DEL SISTEMA" + CRLF + ;
"YA QUE ESTA ACTUALMENTE EN OPERACION.",,,, )
QUIT
ENDIF
Y de esta manera, me ha funcionado barbaro !!
Saludos
En este momento no tengo a la mano el nombre del colega del foro, que nos posteo esto :
IF IsExeRunning( cFileName( HB_ARGV(0) ) )
MsgInfo( 1, "NO ES POSIBLE EJECUTAR EL MODULO ADM DEL SISTEMA" + CRLF + ;
"YA QUE ESTA ACTUALMENTE EN OPERACION.",,,, )
QUIT
ENDIF
Y de esta manera, me ha funcionado barbaro !!
Saludos
FWH 10.6 + xHarbour + Borland 582
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Ray, gracias por tu observación, el problema es que, con esta instruccion, si en la misma computadora se trabajan 2 empresas diferentes (una en cada carpeta independiente con un exe en cada carpeta) no las pueden trabajar al mismo tiempo y yo lo que quiciera es que solo no abran (por error) el mismo exe de la misma carpeta.
Alguna otra sugerencia?
Alguna otra sugerencia?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
DbZap :
Puedes usar la clase TwCapture y la puedes descargar de http://vikthor.com.mx/fivewin
Puedes usar la clase TwCapture y la puedes descargar de http://vikthor.com.mx/fivewin
Code: Select all
/*
Verifica si ya se está ejecutando una instancia de la misma aplicación.
*/
oWnd := TWCapture():New()
oWnd:WCapture( "Sistema de Registro y Control de Eventos" )
IF oWnd:lCaptured // La aplicación ya está corriendo
MsgStop("El sistema ya está cargado","Aviso del sistema")
RETURN( Nil )
ENDIF
Vikthor
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
Yo utilizo la misma solución (artesana) desde hace muchos años (Clipper 87) con excelente resultado:
Al inicio del programa abro un dbf en EXCLUSIVE donde generalmente guardo información de la estación (por ejemplo, el path del servidor) y del propio usuario, pero igualmente podría ser una dbf vacia. Si el dbf ya esta abierto, aborta el programa.
USE IMPRESOR EXCLUSIVE NEW
IF NETERR()
ALERT(" ¡¡¡ El programa está ya abierto")
QUIT
ENDI
De esta manera, duplicar el exe en la misma carpeta, pero te permite aperturarlo desde otra.
Al inicio del programa abro un dbf en EXCLUSIVE donde generalmente guardo información de la estación (por ejemplo, el path del servidor) y del propio usuario, pero igualmente podría ser una dbf vacia. Si el dbf ya esta abierto, aborta el programa.
USE IMPRESOR EXCLUSIVE NEW
IF NETERR()
ALERT(" ¡¡¡ El programa está ya abierto")
QUIT
ENDI
De esta manera, duplicar el exe en la misma carpeta, pero te permite aperturarlo desde otra.
Un saludo
Manuel
Manuel