Sign in Join
Wiki copytemporary

UniqueInstance/pl: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Opis
22
33### O komponencie
44
55**UniqueInstance** ![](/wiki-images/1/1b/Tuniqueinstance.png) jest wizualnym komponentem na zakładce [[Common Controls tab|Common Controls]] [[Component Palette|Palety Komponentów]], który zapewnia widok listy powiązanych z nim elementów. Elementy mogą być reprezentowane przez jeden z zestawów ikon powiązanych z [[TImageList]]: SmallImages, LargeImages i StateImages.
66
77UniqueInstance zapewnia łatwy sposób wymuszenia uruchomienia tylko jednego wystąpienia aplikacji w tym samym czasie. Aby zainstalować ten komponent na swojej palecie komponentów, najłatwiej jest użyć [[Online Package Manager|Menedżera pakietów online]] z Lazarusa. Obsługuje on systemy Windows i Linux (macOS domyślnie zapobiega wielu instancjom).
88
99### Cechy
1010
1111- Łatwy w użyciu: po prostu upuść komponent na głównym formularzu
1212- Zapewnia mechanizm odbierania danych z wiersza poleceń innych instancji
1313
1414### Jak używać (komponent)
1515
1616Po prostu upuść komponent na główny formularz aplikacji LCL (znajduje się w zakładce System, poszukaj czerwonego pełnego koła z cyfrą „1” w środku).
1717
1818Właściwości:
1919
2020- Enabled: włącza/wyłącza komponent
2121- Identifier: służy do zapewniania sposobu identyfikacji aplikacji
2222- UpdateInterval: interwał w milisekundach, przez który komponent będzie monitorował komunikaty pod kątem nowych instancji. Ma znaczenie tylko pod Uniksem, ponieważ pod Win32 wiadomość jest odbierana przez pętlę komunikatów systemu Windows
2323
2424Zdarzenie
2525
2626- OnOtherInstance: jest wywoływane, gdy zainicjowana zostanie inna instancja. Odbiera parametry przekazane do wystąpienia tej nowej instancji.
2727
2828### Jak używać (w kodzie)
2929
3030Dodaj moduł uniqueinstanceraw do sekcji uses.
3131
3232Wywołaj funkcję InstanceRunning: zwróci ona true, jeśli instancja już działa.
3333
3434Istnieją dwa warianty:
3535
3636- Bez argumentów: użyje nazwy pliku wykonywalnego jako identyfikatora i nie wyśle ​​parametrów wiersza poleceń
3737- Z dwoma argumentami:
3838 - Identifier: identyfikator aplikacji
3939 - SendParameters(domyślnie = false): wysyła parametry wiersza poleceń do już działającej instancji, jeśli taka istnieje, przed zakończeniem swojego działania.
4040
4141### Uwagi
4242
4343- Testowane z win32 (XP SP2) i Linux (Ubuntu 9.04) z fpc 2.4.2.
4444- Jeśli umieścisz dwa komponenty TUniqueInstance w tej samej aplikacji z tym samym identyfikatorem, Twoja aplikacja nie zostanie załadowana.
4545- Identifier jest opcjonalny zarówno dla funkcji, jak i komponentu. W przypadku, gdy nie jest używany, to używana jest nazwa pliku wykonywalnego jako identyfikator. Konsekwencją tego jest to, że jeśli ktoś zmieni nazwę exe, inna instancja takiej aplikacji nie zostanie zidentyfikowana. Z drugiej strony, jeśli dwie różne aplikacje używają tego samego identyfikatora, jedna uniemożliwi uruchomienie drugiej.
4646 - WSKAZÓWKA: aby mieć pewność, że aplikacja nie przeszkodzi w uruchomieniu innej, możesz użyć identyfikatora GUID jako identyfikatora.
4747
4848### Historia
4949
5050- 11/01/17 - Wersja 1.1
5151 - Zapewnia kompatybilność z fpc 3.0 i nowszymi
5252 - Czyszczenie kodu
5353- 17/04/11 - Wersja 1.0
5454 - Naprawiono wykrywannie aplikacji jako działającej po awarii w systemie Unix
5555 - Naprawiono występowanie awarii podczas kompilacji za pomocą zestawu widżetów Gtk2
5656 - Ustawiono domyślne wartości dla właściwości publicznych
5757 - Optymalizacje i czyszczenie kodu
5858 - Nowa ikona
5959- 02/10/07 - Wersja 0.2
6060 - Oparta na fpc 2.2.0
6161 - Zaimplementowany odbiór parametrów pod systemami unix
6262 - Ogólne optymalizacje i czyszczenie kodu
6363- 16/12/06 - Pierwsze wydanie. Zobacz [mój blog](http://lazarusroad.blogspot.com/2006/12/only-one-instance.html), aby dowiedzieć się, jak to się zaczęło.
6464
6565### Autor
6666
6767Luiz Américo Pereira Câmara
6868
6969### Licencja
7070
7171Zmodyfikowana LGPL
7272
7373### Pobieranie
7474
7575Wersja 1.1: [Pobierz z GitHub](https://github.com/blikblum/luipack/releases/tag/uniqueinstance-1.1)
7676
7777Ostatnia wersja przeniesiony do repozytorium GitHub: <https://github.com/blikblum/luipack/tree/master/uniqueinstance>
7878
7979Możesz też użyć klienta SVN:
8080
81-` svn co https://github.com/blikblum/luipack.git/trunk/uniqueinstance`
81+```text
82+ svn co https://github.com/blikblum/luipack.git/trunk/uniqueinstance
83+```
8284
8385## Zobacz także
8486
8587- [[AppIsRunning/pl|AppIsRunning]]
8688
8789---
8890*From the Free Pascal wiki, page "UniqueInstance/pl", as it stood on 2022-01-05 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
8991Category: Components

Back to history