Promotic

Opis INI pliku aplikacji (Aplikacja.ini)

Pod pojęciem "INI plik aplikacji" jest rozumiany plik INI w folderze aplikacji, który nosi tę samą nazwę jako plik PRA. Na przykład jest aplikacja "Kotlownia.pra" i system PROMOTIC automatycznie do tego pliku wytworzy plik "Kotlownia.ini".
Plik INI aplikacji można eydtować jako zwykły plik tekstowy. Można go także otworzyć i edytować bezpośrednio w systemie PROMOTIC w menu " > Otwórz plik aplikacji > Aplikacja.ini".
W INI pliku aplikacji znajdują się proste ustawienia wymagane przez środowisko deweloperskie lub przez tryb runtime. Niżej zostaną opisane podstawowe użyteczne parametry, które można ustawiać.

Opis kluczy w sekcji [Promotic]

W tej sekcji znajdują się globalne parametry ustawienia aplikacji.
[Promotic]
Running=0
RtStartDelay=0
ErrRedir=0
MultipleRun=0
VerifyName=1
XmlClientTimeout=10
Running: =0 nie znajduje się w runtime, =1 znajduje się w runtime. Służy do ustawiania parametru pEvent.Reset w zdarzeniu PmaRoot.onAppStartBegin. Nie można go ustawiać manualnie, jest zawsze ustawiany przez system PROMOTIC.
RtStartDelay: (domyślnie: 0). Czas opóźnienia uruchomienia aplikacji PROMOTIC w sekundach. Opcja ta jest stosowana, jeżeli runtime aplikacji PROMOTIC jest zależny od innych oprogramowań (bazy danych, serwer komunikacyjny, itd.). Tym jest zapewnione, że aplikacja PROMOTIC nie uruchomi się prędzej niż aplikacje, od których jest zależna i w ten sposób nie dojdzie do błędów.
Inna możliwość opóźnionego uruchomienia: patrz Oprogramowanie RunLater.
ErrRedir: Przy powstaniu błędu w aplikacji jest opis błędu zawsze zarejetrowany w INFO systemie pod pozycją Errors.
Opisywanym ustawieniem można osiągnąć, że taki błąd (nawet powtarzający się) zostanie równocześnie zalogowany także do pozycji Debug INFO systemu:
=0 (domyślnie) - błąd nie jest logowany
=1 - błąd jest logowany do karty "Debug1"
=2 - błąd jest logowany do karty "Debug2"
MultipleRun: =1/0 (domyślnie: 0), Zezwolenie/zakaz uruchomienia jednej aplikacji kilkakrotnie równocześnie. To znaczy, że plik PRA zostanie uwolniony po wczytaniu aplikacji (opcja działa tylko z licencją runtime).
VerifyName: Sprawdzać nazwy systemowe (nazwy obiektów i nazwy zmiennych w obiektach z danymi):
=1 (domyślnie) Sprawdzać
=0 Nie sprawdzać. Można ustawić tylko wyjątkowo dla istniejących aplikacji, w których już znajdują się nazwy niesystemowe.
XmlClientTimeout: (domyślnie: 10) Określa maks. okres czekania na zakończenie komunikacji z Web serwerem w sekundach. Chodzi o oczekiwanie na uzyskanie adresu IP oraz nazwy, o oczekiwanie na połączenie z Web serwerem, o oczekiwanie na odpowiedź z Web serwera.
WebView2: Określa domyślną przeglądarkę stron Webowych aplikacji patrz Przeglądarka stron Webowych (/#glob/webbrowser).
=0 (domyślnie) Zostanie zastosowana starsza przeglądarka WebBrowser oparta na InternetExplorer 11.
=1 Zostanie zastosowana nowa przeglądarka WebWiew2 oparta na Edge (Chrome).

Opis kluczy w sekcji [Licence]

W tej sekcji znajdują się parametry ustawienia nośnika licencji, patrz Typy nośników licencji PROMOTIC.
[Licence]
Medium=hwkey:k1234
Medium: Klucz zawiera listę nośników licencji. Separatorem jest znak "przecinek" (,). Licencja jest wyszukiwana w liście z lewej w prawo. Zastosowana zostanie pierwsza znaleziona licencja. Jeżeli klucz nie jest przedstawiony, wtedy zostanie zastosowane ustawienie domyślne Medium=hwkey, zapewniające ewentualne wczytanie licencji z Sprzętowy klucz (USB) zawierający licencje.
 
=none - Żaden nośnik licencji. Zostanie zastosowana bezpłatna licencja PmFree - Bezpłatne środowisko deweloperskie i runtime licencja systemu PROMOTIC.
=hwkey - Nośnikiem licencji jest Sprzętowy klucz (USB) zawierający licencje lub Plik licencyjny SWK rozszerzający zawartość nośnika licencyjnego. Można również bliżej określić typ licencji (developerska/runtime) lub nawet odwołać się do kontretnej licencji (poprzez numer licencji). To na przykład umożliwia najpierw wyszukiwać licencję develop (lub konkretną licencję) a następnie dopiero wczytać licencję runtime lub sieciową licencję runtime itd. W taki sposób można rozwiązac sytuację, kiedy aplikacja stadardowo korzysta z licencji runtime (z dowolnego medium), ale podczas włożenia klucza sprzętowego develop aplikacja będzie preferencyjnie wczytywać licencję develop.
=hwkey - Klucz z licencją developerską lub runtime (bez specyfikacji).
=hwkey:dev - Klucz z licencją developerską.
=hwkey:rt - Klucz z licencją runtime.
=hwkey:k-XXXX - Klucz z numerem licencji innym aniżeli XXXX.
=hwkey:kXXXX - Klucz z numerem licencji XXXX. Do wczytania klucza sprzętowego poprzez lokalny serwer licencyjny PmLicServer jest to jedyna działająca opcja. Jest stosowana zwłaszcza do rozwiązania problemów dotyczących protokołu RDP. Opcja ta umożliwia również bezpośrednie wczytanie licencji. Dla aplikacji runtime z licencją w kluczu sprzętowym jest to zalecany sposób.
=swkey - Nośnikiem licencji jest Programowy klucz licencyjny (.swk) powiązany z komponentami systemowymi SO Windows. Na przykład: swkey:Pm1234.swk
=netkey - Nośnikiem licencji jest Sieciowy klucz licencyjny. Na przykład: netkey:http://192.168.1.2:5656/Pm1234.swk
 
Przykład:
Różne przykłady zastosowania stopniowego wyszukiwania dostępnych licencji:
Medium=hwkey:k1234
  lub
Medium=swkey:Pm1234.swk
  lub
Medium=netkey:http://192.168.1.2:5656/Pm1234.swk
  lub
Medium=hwkey:dev,hwkey
  lub
Medium=hwkey:dev,netkey:http://192.168.1.2:5656/Pm1234.swk
  lub
Medium=hwkey:dev,swkey:Pm1234.swk
  lub
Medium=hwkey:k1234,hwkey:k4321,hwkey:rt
  lub
Medium=hwkey:k1234,hwkey:k1111
MediumDt: Klucz zawiera listę nośników licencji dla środowiska deweloperskiego. Składnia jest taka sama jako w przypadku klucza Medium. Klucz umożliwia ustawić aplikacji odrębną licencję dla środowiska deweloperskiego oraz dla środowiska runtime. Opis uzyskania listy licencji polega na kolejnym wyszukiwaniu ustawionego klucza typu Medium. Środowisko deweloperskie kolejno szuka klucz w kolejności:
- MediumDt: w pliku Aplikacja.ini
- Medium: w pliku Aplikacja.ini
- Medium: w pliku INI środowiska deweloperskiego PromoticDt.ini
MediumRt: Klucz zawiera listę nośników licencji dla środowiska runtime. Składnia jest taka sama jako w przypadku klucza Medium. Klucz umożliwia ustawić aplikacji odrębną licencję dla środowiska deweloperskiego oraz dla środowiska runtime. Opis uzyskania listy licencji polega na kolejnym wyszukiwaniu ustawionego klucza typu Medium. Tryb runtime kolejno szuka klucz w kolejności:
- MediumRt: w pliku Aplikacja.ini
- Medium: w pliku Aplikacja.ini
- Medium: w pliku INI runtime PromoticRt.ini
UseLicServerHwk: Klucz określa, czy nośnik licencji hwkey będzie wczytywany bezpośrednio czy za pomocą lokalnego PmLicServer.
0 (domyślnie) - hwkey będzie wczytywany bezpośrednio
1 - hwkey będzie wczytywany poprzez lokalny PmLicServer

Opis kluczy w sekcji [InfoSystem]

W niniejszej sekcji można ustawić sposób zapisywania stanu INFO systemu. Jeżeli klucz StoreType jest ustawiony na wartość 2 lub 3 (tzn. zapisywanie zezwolone), wtedy podczas zamykania okna INFO systemu w tej sekcji zostaną wytworzone następne nowe klucze z wartościami stanu okna. Chodzi o zapisanie pozycji i rozmiar okna, szybkości odświeżania INFO systemu oraz zapisanie ostatnio przeglądanej karty włącznie z szerokościami kolumn.
Sekcja [InfoSystem] z kluczem StoreType=0 zostanie wytworzona automatycznie przy pierwszym otwarciu okna INFO systemu (jeżeli taki klucz nie był zapisany w pliku).
[InfoSystem]
StoreType=0
StoreType: Określa, czy można następne klucze niniejszej sekcji odczytywać i zapisywać:
=0 odczyt oraz zapis nie jest zezwolony
=1 jest zezwolony wyłącznie odczyt ustawień z pliku INI
=2 jest zezwolony wyłącznie zapis ustawień do pliku INI
=3 jest zezwolony odczyt oraz zapis
Następne klucze niniejszej sekcji są przeznaczone do zapamiętania wartości stanu, są wytwyrzane automatycznie i nie będą tutaj opisywane.

Opis kluczy w sekcji [Log]

W niniejszej sekcji można ustawić parametry "logowania" aplikacji. Tym jest rozumiany taki tryb aplikacji, że pewne operacje będą zawsze zapisywane na dysk do pliku Aplikacja.log (na przykład jeżeli projekt nosi nazwę "Kotlownia.pra", wtedy logi są zapisywane do pliku "Kotlownia.log"). Tryb ten jest korzystne włączyć przy wytwarzaniu aplikacji, kiedy chcesz mieć wgląd do wytwarzania i równocześnie chcesz stwierdzić informacje jeżeli aplikacja ulegnie awarii, itd. Przy zwyczajnym trybie pracy zalecamy logowanie aplikacji według wstępnie ustawionych wartości kluczy (tzn. jeden klucz: EnableBase=2).
System PROMOTIC wartości kluczy w tej sekcji nie ustawia lecz wyłącznie odczytuje. Ustawić klucze (i na początku całą sekcję) musi projektant samodzielnie - jeżeli chce logować.
[Log]
DeleteOnSize=1000
AfterWrite=2
EnableBase=2
EnableGlobErr=0
EnableDebug=0
EnableObject=0
EnableSql=0
EnableUser=0
DeleteOnSize: Wielkość pliku tekstowego log w kB (domyślnie 1000). Jeżeli przy wczytywaniu aplikacji plik log jest większe niż ustawienie, wtedy pierwotny plik "Aplikacja.log" zostanie przemianowany na "Aplikacja.log.old" i jest wytworzony nowy pusty plik "Aplikacja.log". Jest to bardzo proste zabezpieczenie przed nieograniczonym wzrostem pliku log.
AfterWrite:
=0 plik log nie zostanie zamknięty po zapisaniu nowej linii
=1 po zapisaniu plik ni ezostanie zamknięty lecz zostanie wykonany flush (tzn. dane z bufora zostaną zapisane na dysk)
=2 (domyślnie) po każdym zapisaniu plik zostanie zamknięty

Jest to prosty sposób optymalizacji zapisu, ponieważ przy niektórych ustawieniach mogą być zapisywane duże ilości danych (linii).
EnableBase:
=0 Zupełny zakaz logowania
=1 Logowanie zezwolone (tzn. logować według ustawienia EnableGlobErr, EnableDebug, EnableObject)
=2 (domyślnie) Logowanie zezwolone (tak samo jako 1), dodatkowo będą logowane podstawowe zdarzenia systemowe (uruchomienie i zatrzymanie aplikacji, zdarzenie onTimeChange, wołanie metod Pm.AppStop, Pm.ShutDown, itd.)
EnableGlobErr:
=0 Zakaz logowania błędów globalnych
=1 (domyślnie) Zezwolone logowanie tylko nowych błędów (tzn. które powstały po raz pierwszy)
=2 Zezwolone logowanie wszystkich globalnych błędów (nie jest zalecane w stałej eksploatacji, ponieważ wtedy logi mogą przybywać bez ograniczenia a plik log będzie rosnąć bez ograniczeń)

Można również ustawić, żeby błędy były logowane równocześnie do pozycji Debug INFO systemu. Patrz klucz ErrRedir w Opis kluczy w sekcji [Promotic].
EnableDebug:
=0 zakaz logowania (domyślnie) pozycji Debug INFO systemu.
=1 zezwolenie logowania karty "Debug1"
=2 zezwolenie logowania karty "Debug2"
=3 zezwolenie logowania kart "Debug1" oraz "Debug2"
EnableObject:
=0 zakaz (domyślnie), w innym przypadku suma wartości:
=1 kiedy obiekt jest wytwarzany (tzn. kiedy obiekt jest wczytywany z pliku pra i jest wytwarzany w pamięci komputera)
=2 kiedy obiekt zanika (tzn. kiedy obiekt jest usuwany z pamięci komputera)
=4 kiedy obiekt jest uruchomiony w runtime - kiedy zdarzenie onStart
=8 kiedy obiekt jest zatrzymywany w runtime - kiedy zdarzenie onStop
EnableSql:
=0 logowanie zapytań SQL wyłączone (domyślnie), w innym przypadku lub wartość 1 lub suma wartości 2, 4 lub 8:
=1 logować zapytania SQL wszystkich komponentów
=2 logować zapytania SQL obiektów PmaAdo oraz PmaDatabase
=4 logować zapytania SQL obiektu PmaTrendGroup
=8 logować zapytania SQL obiektu PmaAlarmGroup
EnableUser:
=0 Logowanie zalogowanych użytkowników wyłączone (domyślnie)
=1 Logować zalogowanie użytkowników Webowych (nazwa + adres IP)

Opis kluczy w sekcji [Info]

W niniejszej sekcji można odczytać najważniejsze informacje o aplikacji oraz o wersji PROMOTIC. Najważniejszą informacją, którą można w sekcji odczytać, jest wersja PROMOTIC, w której aplikacja była ostatni raz uruchomiona. Przy zajrzeniu do kopii zapasowej aplikacji można z tej sekcji stwierdzić, w której wersji PROMOTIC została wykonana kopia zapasowa aplikacji. Informacje te są pożytecznymi również przy odległym podłączeniu do rzeczywistej aplikacji (np. przy pomocy VPN) lub jeżeli jest na jednym komputerze kilka aplikacji uruchomionych równocześnie w różnych wersjach PROMOTIC. Patrz: Jak można stwierdzić wersję PROMOTIC.
Dane w opisywanej sekcji służą tylko do celów informacyjnych, są wytwarzane podczas każdego uruchomienia aplikacji. Ewentualna edycja tych danych nie ma żadnego wpływu na aplikację.
[Info]
AppLastRunVer=Promotic7.3.4
AppLastEditVer=Promotic7.3.3
AppLastEditTime=2008.04.16 14:00:33.468
AppCreatedVer=Promotic7.2.1
AppLastRunVer: Wersja PROMOTIC, w której aplikacja była ostatni raz uruchomiona.
AppLastEditVer: Wersja PROMOTIC w której aplikacja była ostatni raz edytowana.
AppLastEditTime: Data oraz czas ostatniej edycji aplikacji.
AppCreatedVer: Wersja PROMOTIC, w której aplikacja została wytworzona (wartość ta w jednej aplikacji nigdy się nie zmienia).

Pozostałe sekcje

W sekcji [MainFrame], [Settings], itd. znajdują się parametry ustawienia dla środowiska deweloperskiego (wielkości okien, itd.), trybu runtime, czcionek, itd.
Zmiana kluczy znajdujących się w omawianych sekcjach nie jest zalecana, i dlatego sekcje te nie są bliżej opisywane.

Historia:
Pm9.00.20: Nowy klucz WebView2 umożliwia ustawić domyślną przeglądarkę stron Webowych.
Pm9.00.16: Nowy klucz EnableUser umożliwia logowanie zalogowania użytkowników Webowych.
Pm9.00.11: Nowe klucze MediumDt oraz MediumRt umożliwiają ustawić aplikacji odrębną licencję dla środowiska deweloperskiego oraaz dla środowiska runtime.
Pm9.00.09: Nowy klucz UseLicServerHwk umożliwia aplikacji wczytanie nośnika licencji hwkey poprzez lokalny serwer licencyjny (z powodu RDP).
Pm8.02.02: usunięto klucz SwKey, nowa sekcja [Licence]
Nawigacja:
 
 
- INI plik aplikacji
 
 
- SVG
© MICROSYS, spol. s r.o.