Título: reiniciar EXE y a la vez no permitir otra instancia del mismo ¿como? Publicado por: yovaninu en 19 Agosto 2008, 17:54 pm tengo la siguiente situacion:
en el LOAD de un form cualquiera tengo ete codigo para evitar que se ejecute 2 veces el programa: Código: If App.PrevInstance = True Then 'si ya se esta ejecutando ahora bien, el form tiene un boton para reiniciar la aplicacion es un simple boton "CMDREINICIAR" cuyo codigo es: Código: Dim RET y como se daran cuenta el programa se cierra pero ya no reinicia pues en el load se esta condicionando. ¿Cual sera la forma de reiniciar un EXE pero a la vez cuidar de que este no se ejecute 2 veces? Título: Re: reiniciar EXE y a la vez no permitir otra instancia del mismo ¿como? Publicado por: cobein en 19 Agosto 2008, 18:12 pm Podrias hacer algo asi
Código
Título: Re: reiniciar EXE y a la vez no permitir otra instancia del mismo ¿como? Publicado por: yovaninu en 19 Agosto 2008, 18:46 pm Excelente COBEIN, entiendo lo de las variables de entorno, habia tenido la misma idea pero con un interruptor( tu lo llamaste "RESTARTED" ) guardado en un archivo y preguntar desde ahi pero veo que es mucho mas elegante tu solucion y mas rapida claro, hace tiempo vi que las instrucciones GOTO y GOSUB no eran recomendadas (asi como el abrupto END) asi que lo cambie por esto, y funciona:
¿por que END en vez de Unload? pues quiza se quede algun form abierto por ahi, en fin... gracias por tu ayuda Código
PD.- que pasa con la variable creada? se borra? parece que si pues voy a la consola escribo SET y no existe tales variables. ¿o donde estan? Título: Re: reiniciar EXE y a la vez no permitir otra instancia del mismo ¿como? Publicado por: cobein en 19 Agosto 2008, 18:58 pm Se puede hacer asi sin necesidad de usar gosub, con respecto al end no es recomendado para nada, aparte se supone que esta es la primer funcion asi que no tendria que haber nada cargado exepto el form de inicio.
Con respecto a las variables de entorno, son locales no globales Código
Título: Re: reiniciar EXE y a la vez no permitir otra instancia del mismo ¿como? Publicado por: krackwar en 20 Agosto 2008, 06:21 am Se puede hacer asi sin necesidad de usar gosub, con respecto al end no es recomendado para nada, aparte se supone que esta es la primer funcion asi que no tendria que haber nada cargado exepto el form de inicio. Con mutex tambien se podria hacer.Con respecto a las variables de entorno, son locales no globales Código
Título: Re: reiniciar EXE y a la vez no permitir otra instancia del mismo ¿como? Publicado por: cobein en 20 Agosto 2008, 06:55 am Si, se puede hacer con mutex, archivo, memoria, registro, dde, linea de comandos o cualquier cosa que te permita crear un flag, tambien podrias ver que proceso lo ejecuto o usar CreateProcess y pasarle los flags o mil cosas mas, gracias por el dato.
|