Pod pojmem "INI soubor aplikace" je zde myšlen INI soubor ve složce aplikace, který se jmenuje stejně jako soubor
PRA. Například aplikace je
"Kotelna.pra" a systém PROMOTIC automaticky k tomuto souboru vytvoří soubor
"Kotelna.ini".
INI soubor aplikace lze editovat jako obyčejný textový soubor. Lze ho také otevřít a editovat přímo v systému PROMOTIC v menu "
> Otevřít aplikační soubor > Aplikace.ini".
V INI souboru aplikace se uchovávají jednoduchá nastavení potřebná pro vývojové prostředí nebo runtime prostředí. Popíšeme zde základní zveřejněné užitečné parametry, které lze nastavovat.
Popis klíčů v sekci [Promotic]
V této sekci jsou globální parametry nastavení aplikace.
[Promotic]
Running=0
RtStartDelay=0
ErrRedir=0
MultipleRun=0
VerifyName=1
XmlClientTimeout=10
Running:
=0 neběží v runtime,
=1 běží v runtime. Slouží k nastavování parametru
pEvent.Reset v události
PmaRoot.onAppStartBegin. Nesmí se manuálně nastavovat, je nastavován pouze systémem PROMOTIC.
RtStartDelay:
(přednastaveno: 0). Čas zpoždění spuštění aplikace PROMOTIC v sekundách. Tato volba se používá, pokud runtime aplikace PROMOTIC závisí na jiných programech (databáze, komunikační server, atd.). Tím se zajistí, že aplikace PROMOTIC nenastartuje dříve než aplikace, na kterých závisí a nedojde tak k chybám.
Jiná možnost zpožděného spuštění: viz
Program RunLater.
ErrRedir:
Při vzniku chyby v aplikaci se vždy popis chyby zaregistruje v
INFO systému v položce
Errors.
Nastavením zde lze dosáhnout, že se tato chyba (i opakující se chyba) zároveň vypíše i do
položky Debug INFO systému:
=0 (přednastaveno) - chyba se nevypisuje
=1 - chyba se vypíše do karty "
Debug1"
=2 - chyba se vypíše do karty "
Debug2"
MultipleRun:
=1/0 (přednastaveno: 0), Povolení/zákaz spuštění jedné aplikace vícekrát současně. To znamená, že soubor
PRA se uvolní po načtení aplikace (volba funguje pouze s runtime licencí).
VerifyName:
Kontrolovat systémové názvy (názvy objektů a názvy proměnných v datových objektech):
=1 (přednastaveno) Kontrolovat
=0 Nekontrolovat. Lze nastavit pouze vyjímečně pro existující aplikace, ve kterých již jsou nesystémové názvy.
XmlClientTimeout:
(přednastaveno 10) Určuje maximální dobu čekání na dokončení komunikace s Web serverem v sekundách. Jedná se o čekání na získání IP adresy ze jména, o čekání na navázání spojení s Web serverem, o čekání na odpověď z Web serveru.
WebView2:
Určuje výchozí prohlížeč Web stránek aplikace viz
Prohlížeč Web stránek (/#glob/webbrowser).
=0 (přednastaveno) Použije se starší prohlížeč WebBrowser založený na InternetExplorer 11.
=1 Použije se nový prohlížeč WebView2 založený na Edge (Chrome).
Popis klíčů v sekci [Licence]
V této sekci jsou parametry nastavení nosiče licence, viz
Typy nosičů PROMOTIC licencí.
[Licence]
Medium=hwkey:k1234
Medium:
Klíč obsahuje seznam nosičů licence. Oddělovačem je znak "čárka" (
,). Licence se hledá v seznamu nosičů licence zleva vpravo. Použije se první nalezená licence.
Pokud se klíč vůbec neuvede, pak se použije výchozí nastavení
Medium=hwkey, zajišťující případné vyčtení licence z
Hardwarový (USB) licenční klíč.
=
hwkey - Nosičem licence je
Hardwarový (USB) licenční klíč nebo
Licenční soubor SWK rozšiřující obsah licenčního klíče. Lze také více upřesnit typ licence (vývojová/runtime) nebo se dokonce odkázat na konkrétní licenci (na číslo licence). To například umožňuje nejprve hledat vývojovou licenci (nebo konkrétní licenci) a pak teprve načíst runtime licenci nebo síťovou runtime licenci atd. Takto lze tedy vyřešit situaci, kdy aplikace standardně používá runtime licenci (z jakéhokoliv média), ale při vložení vývojového HW klíče bude aplikace přednostně načítat vývojovou licenci.
=hwkey - Klíč s vývojovou nebo runtime licencí (bez upřesnění).
=hwkey:dev - Klíč s vývojovou licencí.
=hwkey:rt - Klíč s runtime licencí.
=hwkey:k-XXXX - Klíč s číslem licence jiným než XXXX.
=
hwkey:kXXXX - Klíč s číslem licence
XXXX.
Pro čtení HW klíče přes přes lokální licenční server PmLicServer je toto jediná funkční volba. Používá se zejména kvůli vyřešení problému s protokolem
RDP. Tato volba funguje i pro přímé čtení licence. Pro runtime aplikace s licencí v HW klíči je to doporučovaný způsob.
=
netkey - Nosičem licence je
Síťový licenční klíč. Například:
netkey:http://192.168.1.2:5656/Pm1234.swk
Příklad:
Různé příklady využití postupného hledání dostupných licencí:
Medium=hwkey:k1234
nebo
Medium=swkey:Pm1234.swk
nebo
Medium=netkey:http://192.168.1.2:5656/Pm1234.swk
nebo
Medium=hwkey:dev,hwkey
nebo
Medium=hwkey:dev,netkey:http://192.168.1.2:5656/Pm1234.swk
nebo
Medium=hwkey:dev,swkey:Pm1234.swk
nebo
Medium=hwkey:k1234,hwkey:k4321,hwkey:rt
nebo
Medium=hwkey:k1234,hwkey:k1111
MediumDt:
Klíč obsahuje seznam nosičů licence pro vývojové prostředí. Syntaxe je stejná jako u klíče
Medium. Klíč umožňuje nastavit aplikaci
rozdílnou licenci pro vývojové prostředí a pro runtime prostředí. Postup získání seznamu licencí spočívá v postupném hledání nastaveného klíče typu
Medium. Vývojové prostředí postupně hledá klíč v pořadí:
- Medium: v INI souboru vývojového prostředí PromoticDt.ini
MediumRt:
Klíč obsahuje seznam nosičů licence pro runtime prostředí. Syntaxe je stejná jako u klíče
Medium. Klíč umožňuje nastavit aplikaci
rozdílnou licenci pro vývojové prostředí a pro runtime prostředí. Postup získání seznamu licencí spočívá v postupném hledání nastaveného klíče typu
Medium. Runtime prostředí postupně hledá klíč v pořadí:
- Medium: v INI souboru runtime PromoticRt.ini
UseLicServerHwk:
Klíč určuje, zda se nosič licence
hwkey bude číst
přímo nebo pomocí
lokálního PmLicServer.
0 (přednastaveno) -
hwkey se bude číst
přímo
Popis klíčů v sekci [InfoSystem]
V této sekci lze nastavit způsob uložení stavu
INFO systému.
Pokud klíč
StoreType je nastaven na hodnotu 2 nebo 3 (tzn. povoleno uložení), pak při zavírání okna
INFO systému se v této sekci vytvoří nové další klíče s hodnotami stavu okna.
Jedná se o uložení pozice a velikost okna, rychlosti obnovování
INFO systému a uložení naposledy prohlížené karty včetně šířek sloupců.
Sekce
[InfoSystem] s klíčem
StoreType=0 se vytvoří automaticky při prvním otevření okna
INFO systému (pokud tam tento klíč nebyl uveden).
StoreType: Určuje, zda lze další klíče této sekce číst a zapisovat:
=0 čtení a zápis není povolen
=1 je povoleno pouze čtení nastavení ze souboru INI
=2 je povoleno pouze zápis nastavení do souboru INI
=3 je povoleno čtení a zápis
Další klíče této sekce jsou určeny pro pamatování hodnot stavu, vytvářejí se automaticky a nebudeme je zde popisovat.
Popis klíčů v sekci [Log]
V této sekci lze nastavit parametry
"logovani" aplikace. Tím se myslí zapnout takový režim aplikace, že určité operace se budou vždy ukládat na disk do souboru
Aplikace.log (například pokud je projekt
"Kotelna.pra", pak se loguje do souboru
"Kotelna.log"). Tento režim je vhodné zapnout při vývoji aplikace, kdy chcete mít přehled o vývoji a zároveň se dozvědět informace pokud software například zhavaruje, atd. Při běžném plném provozu doporučujeme logovat aplikaci dle přednastavených hodnot klíčů (tzn. jeden klíč:
EnableBase=2).
Systém PROMOTIC hodnoty klíčů v této sekci pouze čte a nenastavuje. Nastavit klíče (a na začátku i celou sekci) musí projektant sám - pokud chce logovat.
[Log]
DeleteOnSize=1000
AfterWrite=2
EnableBase=2
EnableGlobErr=0
EnableDebug=0
EnableObject=0
EnableSql=0
EnableUser=0
DeleteOnSize: Velikost textového
log souboru v kB (přednastaveno 1000).
Pokud při načítání aplikace je soubor
log větší než je zde zadáno, pak se původní soubor "
Aplikace.log" přejmenuje na "
Aplikace.log.old" a soubor
"Aplikace.log" se vytvoří nový prázdný.
Je to triviální zabezpečení proti neomezenému růstu log souboru.
AfterWrite:
=0 soubor log se po zápisu věty nezavře
=1 po zápisu se soubor nezavře ale uděla se flush (tzn. data se uloží z mezipaměti na disk)
=2 (přednastaveno) soubor se po každém zápisu zavře
Je to triviální způsob optimalizace zápisu, protože přo některá nastavení se může zapisovat velké množství vět.
EnableBase:
=0 Zákaz logování všeho
=1 Logování povoleno (tzn. logovat podle nastavení EnableGlobErr, EnableDebug, EnableObject)
=2 (přednastaveno) Logování povoleno (stejně jako 1) a navíc se budou logovat základní systémové události (spouštění a zastavování aplikace, událost
onTimeChange, volání metod
Pm.AppStop,
Pm.ShutDown, atd.)
EnableGlobErr:
=0 Zákaz logování globálních chyb
=1 (přednastaveno) Logovat pouze nové chyby (tzn. které vznikly poprvé)
=2 Logovat všechny globální chyby (nedoporučeno pro trvalý provoz, protože pak mohou záznamy přibývat bez omezení a log soubor bude neomezeně růst)
Lze také nastavit aby se chyby vypisovaly současně do
položky Debug INFO systému. Viz klíč
ErrRedir v
Popis klíčů v sekci [Promotic].
EnableDebug:
=1 povolení logování karty "
Debug1"
=2 povolení logování karty "
Debug2"
EnableObject:
=0 zákaz (přednastaveno), v jiném případě součet hodnot:
=1 když objekt je vytvářen (tzn. když objekt je načítán ze souboru pra a vytvářen v paměti počítače)
=2 když objekt zaniká (tzn. když objekt se maže z paměti počítače)
=4 když objekt je spouštěn v runtime - když událost
onStart
=8 když objekt je zastavován v runtime - když událost
onStop
EnableSql:
=0 zákaz logování (přednastaveno) SQL dotazů, v jiném případě buď hodnota 1 nebo součet hodnot 2, 4 nebo 8:
=1 logovat SQL dotazy všech komponent
EnableUser:
=0 Zákaz logování (přednastaveno) přihlášení uživatelů
=1 Logovat přihlášení Web uživatelů (jméno + IP adresa)
Popis klíčů v sekci [Info]
V této sekci lze vyčíst nejdůležitější informace o aplikaci a o verzi PROMOTIC. Nejdůležitější údaj, který lze v sekci zjistit, je verze PROMOTIC, ve které byla aplikace naposledy spuštěna. Pak při pohledu do zálohy aplikace lze z této sekce určit, ve které verzi PROMOTIC byla záloha aplikace pořízena. Užitečné i při vzdáleném připojení k reálné aplikaci (např. pomocí
VPN) nebo pokud je na jednom počítači více aplikací běžících současně v různých verzích PROMOTIC. Viz:
Jak zjistit verzi PROMOTIC.
Údaje v této sekci mají pouze informační charakter, generují se znova při každém spuštění aplikace. Jejich případná editace nemá na aplikaci žádný vliv.
[Info]
AppLastRunVer=Promotic7.3.4
AppLastEditVer=Promotic7.3.3
AppLastEditTime=2008.04.16 14:00:33.468
AppCreatedVer=Promotic7.2.1
AppLastRunVer: Verze PROMOTIC, ve které byla aplikace naposledy spuštěna.
AppLastEditVer: Verze PROMOTIC, ve které byla aplikace naposledy editována.
AppLastEditTime: Datum a čas, kdy byla aplikace naposledy editována.
AppCreatedVer: Verze PROMOTIC, ve které byla aplikace vytvořena (tato hodnota se v jedné aplikaci nikdy nemění).
Jiné sekce
V sekci
[MainFrame],
[Settings], atd. jsou parametry nastavení pro vývojové prostředí (velikost nastavitelných oken, atd.), runtime prostředí, písem, atd.
Není užitečné měnit zde používané klíče a proto je ani nepopisujeme.