UniqueInstance/pl
Deutsch · English · Español · Français · Polski
Opis
O komponencie
UniqueInstance
jest wizualnym komponentem na zakładce Common Controls 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.
UniqueInstance 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ć Menedżera pakietów online z Lazarusa. Obsługuje on systemy Windows i Linux (macOS domyślnie zapobiega wielu instancjom).
Cechy
- Łatwy w użyciu: po prostu upuść komponent na głównym formularzu
- Zapewnia mechanizm odbierania danych z wiersza poleceń innych instancji
Jak używać (komponent)
Po 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).
Właściwości:
- Enabled: włącza/wyłącza komponent
- Identifier: służy do zapewniania sposobu identyfikacji aplikacji
- 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
Zdarzenie
- OnOtherInstance: jest wywoływane, gdy zainicjowana zostanie inna instancja. Odbiera parametry przekazane do wystąpienia tej nowej instancji.
Jak używać (w kodzie)
Dodaj moduł uniqueinstanceraw do sekcji uses.
Wywołaj funkcję InstanceRunning: zwróci ona true, jeśli instancja już działa.
Istnieją dwa warianty:
- Bez argumentów: użyje nazwy pliku wykonywalnego jako identyfikatora i nie wyśle parametrów wiersza poleceń
- Z dwoma argumentami:
- Identifier: identyfikator aplikacji
- 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.
Uwagi
- Testowane z win32 (XP SP2) i Linux (Ubuntu 9.04) z fpc 2.4.2.
- Jeśli umieścisz dwa komponenty TUniqueInstance w tej samej aplikacji z tym samym identyfikatorem, Twoja aplikacja nie zostanie załadowana.
- 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.
- WSKAZÓWKA: aby mieć pewność, że aplikacja nie przeszkodzi w uruchomieniu innej, możesz użyć identyfikatora GUID jako identyfikatora.
Historia
- 11/01/17 - Wersja 1.1
- Zapewnia kompatybilność z fpc 3.0 i nowszymi
- Czyszczenie kodu
- 17/04/11 - Wersja 1.0
- Naprawiono wykrywannie aplikacji jako działającej po awarii w systemie Unix
- Naprawiono występowanie awarii podczas kompilacji za pomocą zestawu widżetów Gtk2
- Ustawiono domyślne wartości dla właściwości publicznych
- Optymalizacje i czyszczenie kodu
- Nowa ikona
- 02/10/07 - Wersja 0.2
- Oparta na fpc 2.2.0
- Zaimplementowany odbiór parametrów pod systemami unix
- Ogólne optymalizacje i czyszczenie kodu
- 16/12/06 - Pierwsze wydanie. Zobacz mój blog, aby dowiedzieć się, jak to się zaczęło.
Autor
Luiz Américo Pereira Câmara
Licencja
Zmodyfikowana LGPL
Pobieranie
Wersja 1.1: Pobierz z GitHub
Ostatnia wersja przeniesiony do repozytorium GitHub: https://github.com/blikblum/luipack/tree/master/uniqueinstance
Możesz też użyć klienta SVN:
svn co https://github.com/blikblum/luipack.git/trunk/uniqueinstance
Zobacz także
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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
