Gambas France BETA


Pas de compte ? Incription

Exemple 5 :

Eviter de démarrer le prog plusieurs fois :


Déclaration d'un stream


dans un module de début par exemple ModPrinc ( à taper plusieurs fois c'est plus court que ModulePrincipal )

1
PUBLIC hLock AS Stream

Dès qu'une instance est lancée, le fichier est verrouillé :


1
2
3
4
5
6
7
8
9
10
PUBLIC SUB main()

TRY hLock = LOCK User.home & "/.monProg-lock" 'donner le nom voulu et unique
IF ERROR THEN 'comme le stream est lock (verrouillé)
Message.Title = ("Attention!") 'il y a erreur si le prog est relancé alors qu'il tourne déjà
Message(("Une seule instance du Progamme est possible."))
QUIT 'on utilise Quit car nous sommes, ici, dans un module
ENDIF

END

Fin du programme :


1
2
3
4
5
6
7
8
PUBLIC SUB FinProg() 'ne pas oublier de supprimer le stream à la fin du prog

IF NOT IsNull(ModPrinc.hLock) THEN
TRY UNLOCK ModPrinc.hLock
TRY KILL User.home & "/.monProg-lock"
ENDIF

END

Dès qu'on cliquera sur OK la nouvelle instance du programme sera fermée avant même que d'avoir lancé la form principale.





====================

Commandes utilisées :


Try
Error
Shell
Message
Quit
unlock
Lock


====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--

====================

Documentation :



====================