Promotic

Parametry Pma objektu

Parametry Pma objektu jsou (projektantem vytvořené) konstanty, které lze vytvořit ve všech Pma objektech. Slouží k parametrizaci aplikace nebo částí aplikace. Slouží zejména v konceptu prototypu a instancí, kde umožňuje zohlednit odlišnosti jednotlivých instancí téhož prototypu. Viz konfigurátor "Parametry Pma objektu".
Parametry Pma objektu jsou velice podobné parametrům Pmg objektu.

Parametr má svůj název a hodnotu:
Název parametru: Je to systémový název, může obsahovat jen alfanumerické znaky a nesmí obsahovat diakritiku (tzn. národnostně závislé znaky), prázdný řetězec, mezery a první znak nesmí být číslo.
Hodnota parametru je libovolný textový řetězec. Pro zadání lze použít Makro výraz (vyhodnocuje se po spuštění aplikace). Upozornění! Pokud hodnota parametru je zadána makro výrazem, pak se případný odkaz na parametr Pma objektu (Makro výraz $.par) bude odkazovat na parametry rodiče, protože parametry daného Pma objektu ještě neexistují (teprve se definují).


Parametr Pma objektu lze číst metodou PmaObject.GetPar, ale hlavně lze použít parametr jako Makro výraz $.par v konfigurátorech Pma objektů. Oba přístupy čtou parametr kaskádním způsobem (bubláním), tzn. pokud Pma objekt, ve kterém se makro/metoda používá, tento parametr nemá, pak se parametr hledá v jeho rodiči. Toto se opakuje dokud není parametr nalezen. Hledání parametru (bublání) končí v objektu PmaRoot, který je rodičem všech Pma objektů.

Upozornění pro prototypy a instance: Pro objekt PmaInstance platí, že přejímá pouze parametry příslušného objektu PmaPrototype, kterým může (ale nemusí) zadat změněné hodnoty. To znamená, že instance může pouze měnit hodnoty existujících parametrů příslušného prototypu. Instance, ale ani rodiče instance, nesmí přidávat parametry nové. Instance (prototyp) má přístupné pouze parametry definované v prototypu, nemá přístup k parametrům rodiče instance. Tím je zajištěno, že všechny instance téhož prototypu mají stejnou sadu parametrů i když s různými hodnotami. Objekt PmaInstance je tedy vyjímečný z hlediska hledání parametrů (bublání), protože v tomto objektu hledání parametrů končí a nepokračuje k rodiči objektu PmaInstance. Z hlediska parametrů je tedy instance prototypu izolována od parametrů zbytku aplikace. Pokud je nutno získat hodnotu parametru pro prototyp z rodičů instance, pak je nutno založit tento parametr v objektu PmaPrototype (se stejným nebo jiným názvem) a na parametr rodiče instance se odkázat buď zde nebo v objektu PmaInstance. Reference na parametr rodiče se provede jako Makro výraz $.par v hodnotě parametru instance nebo prototypu.
Například v prototypu založíme nový parametr boiler, jehož hodnotu nastavíme na hodnotu parametru boiler rodiče instance: boiler:$.par("boiler");

Vztah parametrů Pma objektů a Pmg objektů:
Důležité je, že lze předat parametr Pma objektu do obrazu jako parametr Pmg objektu. Princip je, že parametr Pma objektu se nedostane dovnitř obrazu automaticky (Pmg objekt přímo "nevidí" parametr, který je definován mimo obraz). V obrazu je nutno založit příslušný parametr v objektu PmgRoot a při otevření obrazu ho nastavit na hodnotu parametru Pma objektu. Toho lze dosáhnout:
- pomocí parametru sViewPars metody Pm.CreateView nebo
- pomocí makro výrazu v obrazu v konfigurátoru "Výchozí hodnota sViewPars".

Historie:
Pm8.00.07: Nyní lze vytvořit i v objektech PmaFolder a PmaRoot.
Pm8.00.06: Vytvořeno
Pm8.01.00: Nyní může mít parametr každý Pma objekt.
© MICROSYS, spol. s r.o.