En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
RANDOM S.A.
SISTEMICA S.A.
En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
dbzap wrote:En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
Gracias !!
Si tengo el mismo EXE en 2 o mas carpetas diferentes, como le hago para que se pueda correr el mismo EXE de otra carpeta pero que no se corra mas de una vez el de la misma carpeta?
Tas mu shiko pa'preguntar esas kosas...
No has oido hablar de los ni帽os genios?
jajaja, solo agregale bigote y barba y soy yo (bueno, eso dice mi esposa).
Ya te burlaste de mi pero .... la respues es....?
No tengo la respuesta, mi pregunta era debido a que nuestro sistema es re-grande entonces los tipos abrian por aqui y por alla y queria evitar el problema con mis archivos temporales.
Solo Eso.
Suerte
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
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?
Rodolfo,
HB_ARGV(0) devuelve tambien el path del EXE.
Gracias Antonio, pero...
Si uso:
IF IsExeRunning(HB_ARGV(0))
? "El ejecutable ya esta en uso, Se aborta el sistema."
RETURN(NIL)
ENDIF
me permite continuar trabajando con el mismo EXE en la misma carpeta y en este caso deseo que me avise y no lo haga.
/*
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 )
ENDIFYo 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.