Evitar cargar + de una vez la aplicación

Evitar cargar + de una vez la aplicación

Postby dbzap » Tue Apr 25, 2006 6:50 pm

En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Re: Evitar cargar + de una vez la aplicación

Postby wmormar » Tue Apr 25, 2006 7:30 pm

dbzap wrote:En 16bits se hacia con SET MULTPLE...
Pero en 32... como se evita la segunda carga del EXE ?
Saludos


lRunning := IsExeRunning( "FACTURACION" )

Regresa un lRunning
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1074
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Postby dbzap » Tue Apr 25, 2006 7:42 pm

Gracias !!
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Postby RodolfoRBG » Tue May 16, 2006 9:15 pm

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?
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Postby dbzap » Tue May 16, 2006 9:22 pm

Tas mu shiko pa'preguntar esas kosas...
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Postby RodolfoRBG » Tue May 16, 2006 9:29 pm

No has oido hablar de los niños genios? :lol: jajaja, solo agregale bigote y barba y soy yo (bueno, eso dice mi esposa).

Ya te burlaste de mi pero .... la respues es....?
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Postby dbzap » Tue May 16, 2006 9:50 pm

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
User avatar
dbzap
 
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile

Postby Raymundo Islas M. » Tue May 16, 2006 11:50 pm

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
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Postby RodolfoRBG » Wed May 17, 2006 12:01 am

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?
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Postby Antonio Linares » Wed May 17, 2006 7:57 am

Rodolfo,

HB_ARGV(0) devuelve tambien el path del EXE.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby RodolfoRBG » Wed May 17, 2006 9:55 pm

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.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Postby Vikthor » Thu May 18, 2006 2:53 am

DbZap :

Puedes usar la clase TwCapture y la puedes descargar de http://vikthor.com.mx/fivewin

Code: Select all  Expand view  RUN
/*
    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
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby Manuel Valdenebro » Thu May 18, 2006 4:40 am

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.
Un saludo

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 61 guests