UniqueInstance/fr

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de) English (en) español (es) français (fr) polski (pl)

À propos de

UniqueInstance fournit un moyen facile de forcer une seule instance par application fonctionnant en même temps.

Fonctions

  • Facile d'utilisation: il suffit de glisser un composant dans le formulaire(form) principal.
  • Fournit un mécanisme pour recevoir la ligne de commande des autres instances.

Comment utiliser(le composant)

Il suffit de le déposer dans le formulaire principal(il est sur l'onglet Système, recherchez un cercle rouge plein avec le chiffre "1" au milieu)

Propriétés:

  • Enabled: Active / désactive le composant
  • Identifier: utilisés pour fournir un moyen d'identifier l'application
  • UpdateInterval: l'intervalle en millisecondes par lequel le composant surveillera des messages venant des nouvelles instances. N'a de sens que sous unix puisque, sous win32, le message est reçu à travers la boucle de message windows

événement

  • OnOtherInstance: appelé si une autre instance est lancée. Reçoit les paramètres transmis à cette instance.

Comment utiliser (brut)

Ajouter l'unité uniqueinstanceraw à la section uses.

Appelez la fonction InstanceRunning : elle retourne vrai si il y a déjà une instance en cours d'exécution.

Il existe deux variantes:

  • sans argument: utilise le nom de l'exécutable comme Identifiant et n'enverra pas les paramètres de ligne de commande.
  • avec 2 arguments:
    • Identifiant: l'identifiant de l'application
    • SendParameters (par défaut = false): envoie les paramètres de ligne de commande à l'instance déjà en cours d'exécution, le cas échéant, avant de quitter

Remarques

  • Testé avec win32 (XP SP2) et Linux (Ubuntu Feisty).
  • La version 0.2 nécessite fpc 2.2.0
  • Si vous mettez deux composants TUniqueInstance dans la même application avec le même identifiant, votre application ne se chargera pas.
  • L'identificateur est facultatif à la fois pour la fonction et le composant. Dans le cas où il n'est pas utilisé, nom de l'exécutable est utilisé comme un identificateur. La conséquence en est que si quelqu'un modifie le nom de l'exécutable, une autre instance ne sera pas identifiée.
  • Pour vous assurer qu'une application n'empêchera pas d'autres lancement vous pouvez utiliser comme identificateur GUID as

Historique

  • 02/10/07 - Version 0.2
    • Basé sur fpc 2.2.0
    • implémentation de la réception des paramètres sous unix
    • Optimisations générales et nettoyage du code
  • 16/12/06 - réalisation initiale. Voir mon blog pour savoir comment cela à commencé.

Auteur

Luiz Américo Pereira Câmara

Licence

LGPL Modifié

Téléchargement

Version 0.2:Lazarus CCR sourceforge.