Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Opis INI pliku aplikacji (Aplikacja.ini)

Pod pojęcieem "INI plik aplikacji" jest rozumiany plik INI w folderze aplikacji, który nosi tę samą nazwę jak 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 Aplikacja > Edycja pliku ini aplikacji.

W INI pliku aplikacji znajdują się proste ustawienia wymagane przez środowisko programowania 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 trybie runtime, =1 znajduje się w trybie runtime. Służy do ustawiania parametru pEvent.Reset w zdarzeniu PmRoot.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.). Ustawienie funkcjonuje z runtime kluczem HW, SW lub jeżeli jest ustawiony konfigurator RtFree2 - bezpłatny runtime, aplikacja nie przekraczająca 30 zmiennych oraz 10 paneli graficznych, URUCHOMIENIE RUNTIME (uruchomienie środowiska deweloperskiego przy pomocy <Shift>) lub RtAppDemo - tryb demonstracyjny runtime, nieograniczona wielkość aplikacji. 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 do INFO systemu pod pozycją Errors. Opisywanym ustawieniem można osiągnąć, że taki błąd (nawet powtarzający się) zostanie równocześnie zalogowany także pod pozycją Debug_info:
=0 (domyślnie) - nie jest logowany
=1 - błąd jest logowany do zakładki "Debug1"
=2 - błąd jest logowany do zakładki "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 kluczem 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.

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,swkey:Pm1234.swk
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 PROMOTIC klucz sprzętowy.
 
=no - Żaden nośnik licencji. Zostanie zastosowana bezpłatna licencja PmFree - Bezpłatne środowisko deweloperskie i runtime licencja systemu PROMOTIC.
=hwkey - Nośnikiem licencji jest PROMOTIC klucz sprzętowy lub Plik licencyjny SWK rozszerzający zawarość klucza licencyjnego. Można również bliżej określić typ licencji (developerska/runtime) lub nawet odwołać się do kontretnej licencji (poprzez jej numer). Uwaga! To np. umożliwi 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:kXXXX - Klucz z numerem licencji XXXX.
=hwkey:k-XXXX - Klucz z numerem licencji innym aniżeli XXXX.
=swkey - Nośnikiem licencji jest Plik licencyjny SWK powiązany ze sprzętem komputera. Na przykład: swkey:Pm1234.swk
=netkey - Nośnikiem licencji jest Plik licencyjny SWK związany z usługą Serwer licencyjny PmNetKey. Na przykład: netkey:http://192.168.1.2:81/Pm1234.swk
 
Przykład:
Różne przykłady zastosowania stopniowego wyszukiwania dostępnych licencji:
Medium=hwkey:dev,hwkey
  lub
Medium=hwkey:dev,netkey:http://192.168.1.2:81/Pm1234.swk
  lub
Medium=hwkey:dev,swkey:Pm1234.swk
  lub
Medium=hwkey:k1234,hwkey:k4321,hwkey:rt
  lub
Medium=hwkey:k1234,hwkey:k1111

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 wielkości okna, szybkości odświeżania INFO systemu i zapisanie ostatnio przeglądanej zakładki lą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: Definicja, czy można następne klucze niniejszej sekcji odczytywać i zapisywać:
=0 zapis ani odczyt 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 i 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 tekstowego 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 np. ulegnie awarii, itd. Przy zwyczajnym trybie pracy zalecamy logowaniw 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
DeleteOnSize: Wielkość pliku tekstowego log w kB (domyślnie 1000). Jeżeli przy wczytywaniu aplikacji plik log jest większy niż ustawienie, wtedy pierwotny plik "Aplikacja.log" zostanie przemianowany na "Aplikacja.log.old" i zostanie 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

CHodzi o 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ć wg. ustawienia EnableGlobErr, EnableDebug, EnableObject)
=2 (domyślnie) Logowanie zezwolone (tak samo jak 1), dodatkowo będą logowane podstawowe zdarzenia systemowe (uruchomienie i zatrzymanie aplikacji, zdarzenie onTimeChange, wywołanie metod Pm.AppStop, Pm.AppQuit, 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 Debug_info. Patrz klucz ErrRedir w Opis kluczy w sekcji [Promotic].

EnableDebug:
=0 zakaz logowania (domyślnie) pozycji Debug_info INFO systemu.
=1 zezwolenie logowania zakładki "Debug1"
=2 zezwolenie logowania zakładki "Debug2"
=3 zezwolenie logowania zakładek "Debug1" i "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 PC)
=2 kiedy obiekt zanika (tzn. kiedy obiekt jest usuwany z pamięci konputeraPC)
=4 kiedy obiekt jest uruchomiony w trybie runtime - kiedy zdarzenie onStart
=8 kiedy obiekt jest zatrzymywany w trybie runtime - kiedy zdarzenie onStop
EnableSql:
=0 zakaz logowania (domyślnie) zapytań SQL, 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 PmAdo i PmDatabase
=4 logować zapytania SQL obiektu PmTrend
=8 logować zapytania SQL obiektu PmAlarmEvent

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: W jaki sposób można stwierdzić wersję systemu 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 i czas ostatniej edycji aplikacji.
AppCreatedVer: Wersja PROMOTIC, w której aplikacja została wytworzona (niniejsza wartość w jednej aplikacji nigdy się nie zmienia).

Pozostałe sekcje

W sekcji [MainFrame], [Settings], itd. znajdują się parametry ustawienia środowiska programowania (wielkości okien, itd.), trybu runtime, czcionek, itd. Zmiana kluczy znajdujących się w omawianych sekcjach nie jest zalecana, z tego powodu sekcje te nie są bliżej opisywane.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice