In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Cerrar Aplicaci

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Cerrar Aplicaci

Mensaje por Xevi »

¿Como puedo saber si la aplicación está abierta mas de una vez, ya sea desde
el mismo pc o desde otra terminal de red???
Gracias.
Un Saludo,
Xevi.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Cerrar Aplicaci

Mensaje por jfgimenez »

Xevi,
> ¿Como puedo saber si la aplicación está abierta mas de una vez, ya sea
> desde el mismo pc o desde otra terminal de red???
Si quieres evitar que se pueda abrir 2 veces en el mismo PC, puedes
simplemente desmarcar la casilla "Permitir múltiples instancias de la
aplicación" en las propiedades del proyecto.
Pero si quieres controlar que no se pueda abrir más de una vez en toda la
red (y siempre y cuando el ejecutable esté en un único sitio de la red),
quizás la mejor forma sería abrir un dbf que sea crucial para el programa en
modo exclusivo. Así, cuando se ejecute otra instancia del programa no podrá
abrir dicho fichero.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Cerrar Aplicaci

Mensaje por Xevi »

Jose,
Lo que pretendo no es que se pueda abrir mas de una vez, pues el ejecutable
está en una pc y se accesa desde otros terminales, sinó que lo que pretendo
es forzar a "cerrar" la aplicación si ésta és la única instancia que está
corriendo. Lo necesito en un proceso muy concreto, como será también el
actualizar la versión del ejecutable.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:[email=4688bf4b@ozsrv2.ozlan.local...]4688bf4b@ozsrv2.ozlan.local...[/email]
> Xevi,
>
>> ¿Como puedo saber si la aplicación está abierta mas de una vez, ya sea
>> desde el mismo pc o desde otra terminal de red???
>
> Si quieres evitar que se pueda abrir 2 veces en el mismo PC, puedes
> simplemente desmarcar la casilla "Permitir múltiples instancias de la
> aplicación" en las propiedades del proyecto.
>
> Pero si quieres controlar que no se pueda abrir más de una vez en toda la
> red (y siempre y cuando el ejecutable esté en un único sitio de la red),
> quizás la mejor forma sería abrir un dbf que sea crucial para el programa
> en modo exclusivo. Así, cuando se ejecute otra instancia del programa no
> podrá abrir dicho fichero.
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Cerrar Aplicaci

Mensaje por jfgimenez »

Xevi,
> Lo que pretendo no es que se pueda abrir mas de una vez, pues el
> ejecutable está en una pc y se accesa desde otros terminales, sinó que lo
> que pretendo es forzar a "cerrar" la aplicación si ésta és la única
> instancia que está corriendo. Lo necesito en un proceso muy concreto, como
> será también el actualizar la versión del ejecutable.
Me temo que eso no es tan simple como puede parecer. Lo más inmediato es
pensar en un timer que dispare cada x segundos un evento donde compruebes
algo que indique que tiene que terminar (p.ej., la existencia de un
determinado fichero). Pero esto, que puede parecer sencillo, se complica
cuando piensas que puede haber un usuario introduciendo datos en ese preciso
momento, y entonces ¿qué haces? ¿lo echas fuera sin más, o lo dejas
terminar? Y si es así, el proceso que pide paso ¿espera indefinidamente o
tiene algún tiempo límite de espera? ¿Y si el usuario se ha ido a tomar café
con un documento a medio meter?
En fin, para estas cosas no hay ninguna regla fija sencillamente porque no
hay una solución universal. En el caso de Xailer, por poner un ejemplo,
cuando las actualizaciones ya están descargadas, simplemente mostramos un
globo, pero es el propio usuario el que tiene que hacer click sobre el icono
para lanzar la instalación. Pero claro, el IDE de Xailer no es una
aplicación de gestión que reside en una unidad de red y que pueden estar
ejecutando varios puestos simultaneamente.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Cerrar Aplicaci

Mensaje por Carlos Ortiz »

Abriendo el archivo en bajo nivel en modo lectura / escritura me resolvio el
problema para saber si un archivo esta siendo usado por algun usuario de la
red. Espero os sirva.
Atte. Carlos Ortiz.
Responder