UniqueInstance/pl: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: UniqueInstance/pl
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ## Opis | |
| 2 | + | ||
| 3 | + | ### O komponencie | |
| 4 | + | ||
| 5 | + | **UniqueInstance**  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. | |
| 6 | + | ||
| 7 | + | 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ć [[Online Package Manager|Menedżera pakietów online]] z Lazarusa. Obsługuje on systemy Windows i Linux (macOS domyślnie zapobiega wielu instancjom). | |
| 8 | + | ||
| 9 | + | ### Cechy | |
| 10 | + | ||
| 11 | + | - Łatwy w użyciu: po prostu upuść komponent na głównym formularzu | |
| 12 | + | - Zapewnia mechanizm odbierania danych z wiersza poleceń innych instancji | |
| 13 | + | ||
| 14 | + | ### Jak używać (komponent) | |
| 15 | + | ||
| 16 | + | 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). | |
| 17 | + | ||
| 18 | + | Właściwości: | |
| 19 | + | ||
| 20 | + | - Enabled: włącza/wyłącza komponent | |
| 21 | + | - Identifier: służy do zapewniania sposobu identyfikacji aplikacji | |
| 22 | + | - 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 | |
| 23 | + | ||
| 24 | + | Zdarzenie | |
| 25 | + | ||
| 26 | + | - OnOtherInstance: jest wywoływane, gdy zainicjowana zostanie inna instancja. Odbiera parametry przekazane do wystąpienia tej nowej instancji. | |
| 27 | + | ||
| 28 | + | ### Jak używać (w kodzie) | |
| 29 | + | ||
| 30 | + | Dodaj moduł uniqueinstanceraw do sekcji uses. | |
| 31 | + | ||
| 32 | + | Wywołaj funkcję InstanceRunning: zwróci ona true, jeśli instancja już działa. | |
| 33 | + | ||
| 34 | + | Istnieją dwa warianty: | |
| 35 | + | ||
| 36 | + | - Bez argumentów: użyje nazwy pliku wykonywalnego jako identyfikatora i nie wyśle parametrów wiersza poleceń | |
| 37 | + | - Z dwoma argumentami: | |
| 38 | + | - Identifier: identyfikator aplikacji | |
| 39 | + | - 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. | |
| 40 | + | ||
| 41 | + | ### Uwagi | |
| 42 | + | ||
| 43 | + | - Testowane z win32 (XP SP2) i Linux (Ubuntu 9.04) z fpc 2.4.2. | |
| 44 | + | - Jeśli umieścisz dwa komponenty TUniqueInstance w tej samej aplikacji z tym samym identyfikatorem, Twoja aplikacja nie zostanie załadowana. | |
| 45 | + | - 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. | |
| 46 | + | - WSKAZÓWKA: aby mieć pewność, że aplikacja nie przeszkodzi w uruchomieniu innej, możesz użyć identyfikatora GUID jako identyfikatora. | |
| 47 | + | ||
| 48 | + | ### Historia | |
| 49 | + | ||
| 50 | + | - 11/01/17 - Wersja 1.1 | |
| 51 | + | - Zapewnia kompatybilność z fpc 3.0 i nowszymi | |
| 52 | + | - Czyszczenie kodu | |
| 53 | + | - 17/04/11 - Wersja 1.0 | |
| 54 | + | - Naprawiono wykrywannie aplikacji jako działającej po awarii w systemie Unix | |
| 55 | + | - Naprawiono występowanie awarii podczas kompilacji za pomocą zestawu widżetów Gtk2 | |
| 56 | + | - Ustawiono domyślne wartości dla właściwości publicznych | |
| 57 | + | - Optymalizacje i czyszczenie kodu | |
| 58 | + | - Nowa ikona | |
| 59 | + | - 02/10/07 - Wersja 0.2 | |
| 60 | + | - Oparta na fpc 2.2.0 | |
| 61 | + | - Zaimplementowany odbiór parametrów pod systemami unix | |
| 62 | + | - Ogólne optymalizacje i czyszczenie kodu | |
| 63 | + | - 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. | |
| 64 | + | ||
| 65 | + | ### Autor | |
| 66 | + | ||
| 67 | + | Luiz Américo Pereira Câmara | |
| 68 | + | ||
| 69 | + | ### Licencja | |
| 70 | + | ||
| 71 | + | Zmodyfikowana LGPL | |
| 72 | + | ||
| 73 | + | ### Pobieranie | |
| 74 | + | ||
| 75 | + | Wersja 1.1: [Pobierz z GitHub](https://github.com/blikblum/luipack/releases/tag/uniqueinstance-1.1) | |
| 76 | + | ||
| 77 | + | Ostatnia wersja przeniesiony do repozytorium GitHub: <https://github.com/blikblum/luipack/tree/master/uniqueinstance> | |
| 78 | + | ||
| 79 | + | Możesz też użyć klienta SVN: | |
| 80 | + | ||
| 81 | + | ` svn co https://github.com/blikblum/luipack.git/trunk/uniqueinstance` | |
| 82 | + | ||
| 83 | + | ## Zobacz także | |
| 84 | + | ||
| 85 | + | - [[AppIsRunning/pl|AppIsRunning]] | |
| 86 | + | ||
| 87 | + | --- | |
| 88 | + | *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).* | |
| 89 | + | Category: Components |
