Difference between revisions of "UniqueInstance/de"

From Free Pascal wiki
Jump to navigationJump to search
 
(16 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).
  
=== Features ===
+
=== Funktionen ===
* Easy of use: just drop a component in the main form
+
* Einfach zu nutzen, es muss lediglich die Komponente auf das Hauptformular gesetzt werden.
* Provides a mechanism to receive the Command Line of the other instances
+
* Stellt einen Mechanismus zur Verfügung, die Befehlszeilenparameter der anderen Instanzen zu empfangen.
  
=== How To Use (Component) ===
+
=== Anwendung (Komponente) ===
  
Just drop in the main form of a LCL application
+
Einfach die Komponente auf dem Hauptformular platzieren.
  
Properties:
+
Eigenschaften:
  
* Enabled: enables/disables the component
+
* Enabled: aktiviert/deaktiviert die Komponente
* Identifier: used to provides a way to identify the application
+
* Identifier: wird genutzt, um die Anwendung zu identifizieren
* UpdateInterval: the interval in milliseconds which the component will monitor messages from new instances. <b>Has meaning only under unix since, under win32, the message is received through the windows message loop</b>
+
* 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: called when another instance is initiated. Receives the parameters passed to that instance.
+
* OnOtherInstance: wird aufgerufen, falls eine neue Instanz gestartet werden soll und empfängt ggf. die an diese übergebenen Parameter
  
=== How To Use (Raw) ===
+
=== Anwendung (Raw) ===
  
Add <b>uniqueinstanceraw</b> unit to your uses section.
+
Fügen Sie <b>uniqueinstanceraw</b> zur Uses-Klausel hinzu.
  
Call the <i>InstanceRunning</i> function: it will return true if there's already a instance running.  
+
Aufruf der <i>InstanceRunning</i>-Funktion: True wird zurückgegeben, falls bereits eine Instanz läuft.
  
There are two variants:
+
Es gibt zwei Varianten:
* Without arguments: will use the executable name as identifier and will not send the command line parameters
 
* With two arguments:
 
** Identifier: the identifier of the application
 
** SendParameters(default = false): send the command line parameters to the already running instance, if any, before quit.
 
  
=== Remarks ===
+
1. Ohne Argumente:
* Tested with win32 (XP SP2) and Linux (Ubuntu Feisty).
+
* UniqueInstance nutzt den Namen des Executable, um dieses zu identifizieren. Parameter werden nicht übergeben.
* Version 0.2 requires fpc 2.2.0
+
2. Mit zwei Argumenten:
* <strike>Although it does not use platform dependent code, the callback mechanic used to pass the command line probably won't work in Linux. This occurs because TSimpleIPCServer under Linux does not call the OnMessage event (At least until some months ago when i tested it).</strike> Not more true since version 0.2
+
* Identifier: Identifizierung der Anwendung
* If you put two TUniqueInstance components in the same application with the same identifier your application won't load.
+
* SendParameters (default = false): Sendet vor dem Beenden die ggf. übergebenen Parameter an die bereits laufende Instanz.
* The Identifier is optional both to the function and the component. In the case it's not used, the executable name is used as an Identifier. The consequence is that if someone changes the exe name another instance will not be identified.
 
* To make sure a application will not avoid other launching you can use a GUID as the Identifier
 
  
=== History ===
+
=== 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
 
* 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 ===
  
=== Author ===
+
[[User:Luizmed|Luiz Américo Pereira Câmara]]
  
Luiz Américo Pereira Câmara
+
=== Lizenz ===
  
=== License ===
+
Modifizierte LGPL
  
Modified LGPL
+
=== Download ===
  
 +
Version 1.0: [https://github.com/blikblum/luipack/tree/master/uniqueinstance Download von GitHub]
  
=== Download ===
+
Version 1.1: [https://github.com/blikblum/luipack/releases/tag/uniqueinstance-1.1 Download from GitHub]
  
Version 0.2: [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=215290 Lazarus CCR sourceforge].
+
[[Category:Components/de]]

Latest revision as of 21: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