Difference between revisions of "UniqueInstance/de"

From Free Pascal wiki
Jump to navigationJump to search
 
(10 intermediate revisions by 7 users not shown)
Line 2: Line 2:
  
 
=== Über ===
 
=== Über ===
UniqueInstance stellt einen einfachen Weg zur Verfügung, ein mehrfaches Starten der Anwendung zu verhindern.
+
UniqueInstance stellt einen einfachen Weg zur Verfügung, ein mehrfaches Starten der Anwendung zu verhindern. Um die Komponente auf der Komponentenpalette zu installieren, ist es am einfachsten, den Lazarus Online Package-Manager zu verwenden und uniqueInstance zu installieren. Das Tool unterstützt Windows und Linux (macOS unterstützt standardmäßig Instanzen).
  
 
=== Funktionen ===
 
=== Funktionen ===
 
* Einfach zu nutzen, es muss lediglich die Komponente auf das Hauptformular gesetzt werden.
 
* 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.
+
* Stellt einen Mechanismus zur Verfügung, die Befehlszeilenparameter der anderen Instanzen zu empfangen.
  
 
=== Anwendung (Komponente) ===
 
=== Anwendung (Komponente) ===
  
Einfach die Komponente auf das Hauptformular platzieren.
+
Einfach die Komponente auf dem Hauptformular platzieren.
  
 
Eigenschaften:
 
Eigenschaften:
  
 
* Enabled: aktiviert/deaktiviert die Komponente
 
* Enabled: aktiviert/deaktiviert die Komponente
* Identifier: wird genutzt um die Anwendung zu identifizieren
+
* 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.
+
* 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
 
Event
* OnOtherInstance: wird aufgerufen, falls eine neue Instanz gestartet werden soll und empfängt die ggf. an diese übergebenen Parameter
+
* OnOtherInstance: wird aufgerufen, falls eine neue Instanz gestartet werden soll und empfängt ggf. die an diese übergebenen Parameter
  
 
=== Anwendung (Raw) ===
 
=== Anwendung (Raw) ===
  
Hinzufügen von <b>uniqueinstanceraw</b> zur Uses-Klausel.
+
Fügen Sie <b>uniqueinstanceraw</b> zur Uses-Klausel hinzu.
  
 
Aufruf der <i>InstanceRunning</i>-Funktion: True wird zurückgegeben, falls bereits eine Instanz läuft.
 
Aufruf der <i>InstanceRunning</i>-Funktion: True wird zurückgegeben, falls bereits eine Instanz läuft.
Line 30: Line 30:
  
 
1. Ohne Argumente:
 
1. Ohne Argumente:
* UniqueInstance nutzt den Namen des Executables um dieses zu identifizieren. Parameter werden nicht übergeben.
+
* UniqueInstance nutzt den Namen des Executable, um dieses zu identifizieren. Parameter werden nicht übergeben.
 
2. Mit zwei Argumenten:
 
2. Mit zwei Argumenten:
 
* Identifier: Identifizierung der Anwendung
 
* Identifier: Identifizierung der Anwendung
* SendParameters(default = false): Sendet vor dem beenden die ggf. übergebenen Parameter an die bereits laufende Instanz.
+
* SendParameters (default = false): Sendet vor dem Beenden die ggf. übergebenen Parameter an die bereits laufende Instanz.
  
 
=== Bemerkungen ===
 
=== Bemerkungen ===
* Getestet unter win32 (XP SP2) und Linux (Ubuntu Feisty).
+
* Getestet unter win32 (XP SP2) und Linux (Ubuntu 9.04) mit fpc 2.4.2.
* Version 0.2 benötigt FPC 2.2.0
 
 
* Werden zwei TUniqueInstance-Komponenten mit selber Identifizierung in einer Anwendung verwendet, startet diese nicht.
 
* 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.
+
* Der Identifier ist optional sowohl in der Funktion als auch in der Komponente. 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. Falls andererseits zwei unterschiedliche Anwendungen die selbe Identifizierung verwenden, verhindert die eine den Start der anderen.
* Um zu verhindern, das die eigene Anwendung eine andere am Starten hindert, kann zur Sicherheit eine GUID als Identifizierung genutzt werden.
+
* Um zu verhindern, dass die eigene Anwendung eine andere am Starten hindert, kann zur Sicherheit eine GUID als Identifizierung genutzt werden.
  
=== History ===
+
=== Verlauf ===
 +
* 11/01/17 - Version 1.1
 +
** Kompatibel mit fpc 3.0 und höher
 +
** Code-Reinigung
 +
* 17/04/11 - Version 1.0
 +
** Fix: Anwendung wird als laufend erkannt nach einem Absturz unter Unix
 +
** Fix: Absturz beim Kompilieren mit dem Gtk2-Widgetset
 +
** Setzt Vorgabewertevon veröffentlichten Eigenschaften
 +
** Optimierungen und Code-Bereinigung
 +
** Neues Icon
 
* 02/10/07 - Version 0.2
 
* 02/10/07 - Version 0.2
** Based in fpc 2.2.0
+
** Basiert auf FPC 2.2.0
** Implemented parameter reception under unix
+
** Parameterempfang unter Linux implementiert
** General optimizations and code clean up
+
** Optimierung und Säuberung des Codes
* 16/12/06 - Initial release. See [http://lazarusroad.blogspot.com/2006/12/only-one-instance.html my blog] to know how it began.
+
* 16/12/06 - Erstes Release. Siehe [http://lazarusroad.blogspot.com/2006/12/only-one-instance.html mein Blog] um zu erfahren, wie es begann.
  
 
=== Autor ===
 
=== Autor ===
  
Luiz Américo Pereira Câmara
+
[[User:Luizmed|Luiz Américo Pereira Câmara]]
  
 
=== Lizenz ===  
 
=== Lizenz ===  
  
Modified LGPL
+
Modifizierte LGPL
  
 
=== Download ===
 
=== Download ===
  
Version 0.2: [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=215290 Lazarus CCR sourceforge].
+
Version 1.0: [https://github.com/blikblum/luipack/tree/master/uniqueinstance Download von GitHub]
 +
 
 +
Version 1.1: [https://github.com/blikblum/luipack/releases/tag/uniqueinstance-1.1 Download from GitHub]
 +
 
 +
[[Category:Components/de]]

Latest revision as of 20:01, 1 June 2021

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. Um die Komponente auf der Komponentenpalette zu installieren, ist es am einfachsten, den Lazarus Online Package-Manager zu verwenden und uniqueInstance zu installieren. Das Tool unterstützt Windows und Linux (macOS unterstützt standardmäßig Instanzen).

Funktionen

  • Einfach zu nutzen, es muss lediglich die Komponente auf das Hauptformular gesetzt werden.
  • Stellt einen Mechanismus zur Verfügung, die Befehlszeilenparameter 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 ggf. die an diese übergebenen Parameter

Anwendung (Raw)

Fügen Sie uniqueinstanceraw zur Uses-Klausel hinzu.

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 9.04) mit fpc 2.4.2.
  • Werden zwei TUniqueInstance-Komponenten mit selber Identifizierung in einer Anwendung verwendet, startet diese nicht.
  • Der Identifier ist optional sowohl in der Funktion als auch in der Komponente. 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. Falls andererseits zwei unterschiedliche Anwendungen die selbe Identifizierung verwenden, verhindert die eine den Start der anderen.
  • Um zu verhindern, dass die eigene Anwendung eine andere am Starten hindert, kann zur Sicherheit eine GUID als Identifizierung genutzt werden.

Verlauf

  • 11/01/17 - Version 1.1
    • Kompatibel mit fpc 3.0 und höher
    • Code-Reinigung
  • 17/04/11 - Version 1.0
    • Fix: Anwendung wird als laufend erkannt nach einem Absturz unter Unix
    • Fix: Absturz beim Kompilieren mit dem Gtk2-Widgetset
    • Setzt Vorgabewertevon veröffentlichten Eigenschaften
    • Optimierungen und Code-Bereinigung
    • Neues Icon
  • 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 1.0: Download von GitHub

Version 1.1: Download from GitHub