UniqueInstance/de

From Free Pascal wiki
Revision as of 15:55, 6 October 2010 by Mischi (talk | contribs) (spelling)
Jump to navigationJump to search

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

Über

UniqueInstance stellt einen einfachen Weg zur Verfügung, ein mehrfaches Starten der Anwendung zu verhindern.

Funktionen

  • Einfach zu nutzen, es muss lediglich die Komponente auf das Hauptformular gesetzt werden.
  • Stellt einen Mechanismus zur Verfügung, Parameter der anderen Instanzen zu empfangen.

Anwendung (Komponente)

Einfach die Komponente auf dem Hauptformular platzieren.

Eigenschaften:

  • Enabled: aktiviert/deaktiviert die Komponente
  • Identifier: wird genutzt, um die Anwendung zu identifizieren
  • UpdateInterval: Intervall (in ms), in welchem die Komponente Nachrichten von neuen Instanzen empfängt. (Nur unter Linux relevant, da unter Windows die systemeigene Nachrichtenschleife genutzt wird.)

Event

  • OnOtherInstance: wird aufgerufen, falls eine neue Instanz gestartet werden soll und empfängt die ggf. an diese übergebenen Parameter

Anwendung (Raw)

Hinzufügen von uniqueinstanceraw zur Uses-Klausel.

Aufruf der InstanceRunning-Funktion: True wird zurückgegeben, falls bereits eine Instanz läuft.

Es gibt zwei Varianten:

1. Ohne Argumente:

  • UniqueInstance nutzt den Namen des Executable, um dieses zu identifizieren. Parameter werden nicht übergeben.

2. Mit zwei Argumenten:

  • Identifier: Identifizierung der Anwendung
  • SendParameters(default = false): Sendet vor dem Beenden die ggf. übergebenen Parameter an die bereits laufende Instanz.

Bemerkungen

  • Getestet unter win32 (XP SP2) und Linux (Ubuntu Feisty).
  • Version 0.2 benötigt FPC 2.2.0
  • Werden zwei TUniqueInstance-Komponenten mit selber Identifizierung in einer Anwendung verwendet, startet diese nicht.
  • Wird keine Identifizierung gesetzt, wird der Name der Programmdatei verwendet. Dies hat allerdings zur Folge, dass nach einem eventuellen umbenennen der Datei eine zweite Instanz nicht mehr als solche erkannt wird.
  • Um zu verhindern, dass die eigene Anwendung eine andere am Starten hindert, kann zur Sicherheit eine GUID als Identifizierung genutzt werden.

Verlauf

  • 02/10/07 - Version 0.2
    • Basiert auf FPC 2.2.0
    • Parameterempfang unter Linux implementiert
    • Optimierung und Säuberung des Codes
  • 16/12/06 - Erstes Release. Siehe mein Blog um zu erfahren, wie es begann.

Autor

Luiz Américo Pereira Câmara

Lizenz

Modifizierte LGPL

Download

Version 0.2: Lazarus CCR sourceforge.