UDF > Misc >


_Singleton

Met en place un modèle de conception où une seule instance du script peut être exécutée

#include <Misc.au3>
_Singleton ( $sOccurrenceName [, $iFlag = 0] )

Paramètres

$sOccurrenceName Chaîne pour identifier l'occurrence du script. Cette chaîne ne peut pas contenir le caractère \, sauf si vous placez l'objet dans un espace de noms (voir Remarques).
$iFlag [optionnel] Options de comportement.
0 - Quitte le script avec le code de sortie -1 si une autre instance existe déjà.
1 - Retourne de la fonction sans quitter le script.
2 - Permet à l'objet d'être accessible par n'importe qui dans le système. Ceci est utile si l'objet est spécifié "Global" dans un environnement multi-utilisateur.

Valeur de retour

Succès: Retourne le handle de l'objet utilisé pour la synchronisation (un mutex).
Échec: Retourne 0

Remarque

Vous pouvez placer l'objet dans un espace de noms en faisant précéder le nom de votre objet par "Global" ou par "Local". Les objets "Global" combinés avec le flag 2 sont utiles dans les environnements multi-utilisateurs.

Exemple

#include <Misc.au3>
#include <MsgBoxConstants.au3>

If _Singleton("test", 1) = 0 Then
    MsgBox($MB_SYSTEMMODAL, "Warning", "An occurence of test is already running")
    Exit
EndIf
MsgBox($MB_SYSTEMMODAL, "OK", "the first occurence of test is running")