Promotic

Parametry Pma obiektu

Parametry Pma obiektu są stałymi (wytworzonymi przez projektanta), które można wytworzyć we wszystkich Pma obiektach. Służy do parametryzacji aplikacji lub jej części. Służy przede wszystkim w koncepcji prototyp i instancji, gdzie umożliwia uwzględnienie różnic w poszczególnych instancjach jednego szablonu. Patrz konfigurator "Parametry Pma obiektu".
Parametry Pma obiektu są bardzo podobne do parametrów Pmg obiektu.

Parametr posiada swoją nazwę oraz wartość:
Nazwa parametru: Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.
Wartość parametru jest dowolny łańcuch tekstowy. Do wprowadzenia można zastosować Makro wyrażenie (wartość jest obliczana po uruchomieniu aplikacji). Uwaga! Jeżeli wartość parametru jest określona przy pomocy makro wyrażenia, wtedy ewentualne odniesienie do parametru Pma obiektu (Makro wyrażenie $.par) będzie się odnosić do parametrów rodzica, ponieważ parametry danego Pma obiektu jeszcze nie istnieją (są dopiero wytwarzane).


Parametr Pma obiektu można odczytywać przy pomocy metody PmaObject.GetPar ale przede wszystkim parametr można zastosować jako Makro wyrażenie $.par w konfiguratorach Pma obiektów. Oby dwa zastosowania odczytują parametr sposobem kaskadowym, tzn. jeżeli Pma obiekt, w którym makro/metoda jest zastosowana nie posiada takiego parametru, wtedy parametr jest wyszukiwany w jego rodzicu. Taka procedura powtarza się, dopóki parametr nie jest znaleziony. Wyszukiwanie parametru (bąbelkowanie) jest zakończone w obiekcie PmaRoot, który jest rodzicem wszystkich Pma obiektów.

Uwaga dla prototypów i instancji: Dla obiektu PmaInstance jest ważne, że przejmuje tylko parametry odpowiedniego obiektu PmaPrototype, dla których może (lecz nie musi) określić ich zmienione wartości. To znaczy, że instancja może tylko zmieniać wartości istniejących parametrów odpowiedniego prototypu. Instancja, lecz nawet rodzice instancji nie mogą dodawać nowych parametrów. Instancja (prototyp) ma dostępne tylko parametry zdefiniowane w prototypie, nie ma dostępu do parametrów rodzica instancji. W ten sposób jest zapewnione, że wszystkie instancje tego samego prototypu posiadają taki sam zestaw parametrów choć z różnymi wartościami. Obiekt PmaInstance jest więc wyjątkowy z punktu widzenia wyszukiwania parametrów (bąbelkowania), ponieważ wyszukiwanie parametrów jest zakończone w tym obiekcie i nie jest kontynuowane do rodzica obiektu PmaInstance. Z punktu widzenia parametrów instancja prototypu jest więc odseparowana od parametrów reszty aplikacji. Jeżeli jest konieczne uzyskanie parametru dla prototypu z rodzica instancji, wtedy jest konieczne taki parametr założyć w obiekcie PmaPrototype (z taką samą lub inną nazwą) i odnieść się do parametru rodzica instancji albo tu albo w obiekcie PmaInstance. Odniesienie do parametru rodzica można wykonać jako Makro wyrażenie $.par w wartości parametru instancji lub prototypu.
Na przykład w prototypie załóżmy nowy parametr boiler, którego wartość następnie ustawimy na wartość parametru boiler rodzica instancji: boiler:$.par("boiler");

Stosunek parametrów Pma obiektów oraz Pmg obiektów:
Ważnym jest, że można przekazać parametr Pma obiektu do panela jako parametr Pmg obiektu. Zasadą jest, że parametr Pma obiektu nie jest automatycznie przekazywany do środka panelu (Pmg obiekt "nie widzi" parametr, który jest zdefiniowany poza panelem). W panelu jest konieczne założenie odpowiedniego parametru w obiekcie PmgRoot i podczas otwarcia panela ustawić go na wartość parametru Pma obiektu. To można osiągnąć:
- przy pomocy parametru sViewPars metody Pm.CreateView lub
- przy pomocy makro wyrażenia w panelu w konfiguratorze "Wartość domyślna sViewPars".

Historia:
Pm8.00.07: Obecnie można wytworzyć również w obiektach PmaFolder oraz PmaRoot.
Pm8.00.06: Wytworzono
Pm8.01.00: Obecnie może posiadać parametr każdy Pma obiekt.
© MICROSYS, spol. s r.o.