Difference between revisions of "UniqueInstance/de"

From Free Pascal wiki
Jump to navigationJump to search
Line 53: Line 53:
 
Luiz Américo Pereira Câmara
 
Luiz Américo Pereira Câmara
  
=== License ===  
+
=== Lizenz ===  
  
 
Modified LGPL
 
Modified LGPL
 
  
 
=== Download ===
 
=== Download ===
  
 
Version 0.2: [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=215290 Lazarus CCR sourceforge].
 
Version 0.2: [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=215290 Lazarus CCR sourceforge].

Revision as of 20:08, 10 July 2008

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 das Hauptformular platzieren.

Eigenschaften:

  • Enabled: aktiviert/deaktiviert die Komponente
  • Identifier: wird genutzt um die Anwendung zu identifizieren
  • UpdateInterval: der Intervall (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 Executables 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, das nach einem eventuellen umbenennen der Datei eine zweite Instanz nicht mehr als solche erkannt wird.
  • Um zu verhindern, das die eigene Anwendung eine andere am Starten hindert, kann zur Sicherheit eine GUID als Identifizierung genutzt werden.

History

  • 02/10/07 - Version 0.2
    • Based in fpc 2.2.0
    • Implemented parameter reception under unix
    • General optimizations and code clean up
  • 16/12/06 - Initial release. See my blog to know how it began.

Autor

Luiz Américo Pereira Câmara

Lizenz

Modified LGPL

Download

Version 0.2: Lazarus CCR sourceforge.