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 pouze 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 pomocí makro výrazu, 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: