Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Objekt PmAction (Akce)

Popis:
Objekt představuje akci, která lze později vyvolat.
Vlastnosti a metody:
Call Volání akce
PrivateData Objekt s projektantem definovanými vlastnostmi
Poznámka:
- Objekt lze vytvořit pomocí metody Pm.CreatePmAction.
- Tento objekt je funkční i ve Web obrazech.
 
Objekt PmAction je výhodný tehdy, pokud je potřeba aby "někdo" vytvořil tento objekt (tzn. vytvořil "akci"), tento objekt předal někam dál a pak "někdo jiný někdy jindy" danou akci vyvolal. Důležité je, že ten "někdo jiný" jen zavolá metodu Call a vůbec nemusí vědět co vlastně ve skutečnosti volá (např. neví, že se zavolá nad nějakým objektem nějaká metoda projektanta s nějakým parametrem).
 
Způsoby použití objektu PmAction:

Vytvořenou akci lze použít dvěma způsoby:

1. Lze ji nastavit do systémové komponenty tak, že tato komponenta vyvolá akci sama až bude potřeba.

V tom případě projektant nevolá metodu Call. Tuto metodu volá systémová komponenta a při volání může nastavit různé důležité informace ve vlastnostech objektu, který je pak dostupný ve volané metodě projektanta v parametru oSystem.

Příklady systémových komponent, do kterých lze nastavit PmAction:

- Zavření obrazu: V metodě OpenView lze nastavit akci do údaje oExtra.onClose. Akce se pak vyvolá při zavření obrazu a v parametru oSystem bude nastavena vlastnost ReturnValue.
2. Projektant používá akci pro své účely a sám pak volá metodu Call kdy on uzná za vhodné.

Příklad vytvoření a použití objektu PmAction:
Vytvoří akci: V této části se vytvoří akce typu "volání metody projektanta" s názvem "MyMeth1" v objektu, ve kterém je tento skript (tento objekt je tedy dostupný pomocí proměnné pMe).

Zároveň se nastaví projektantsky zadávané vlastnosti v objektu (který je uložen v PrivateData): vlastnost "id" a "val". Tyto vlastnosti pak budou dostupné při vyvolání akce.

Volání akce: V této části se akce vyvolá. Tento skript může být volán "někým jiným někde jinde", jen musí mít přístup k vytvořené akci (přístup k hodnotě oAction). Pokud byla akce nastavena do nějaké systémové komponenty, pak projektant metodu Call nevolá (je volána systémem).

Tímto voláním se zavolá metoda projektanta "MyMeth1" (metoda definovaná v kartě "Metody"), která musí mít dva parametry:

- oSystem: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje systém podle toho odkud tuto akci volá.
- oPrivate: Objekt typu PmMap. Vlastnosti tohoto objektu nastavuje projektant v objektu PmAction.PrivateData.

To znamená, že tento objekt obsahuje dříve nastavené vlastnosti "id" a "val".

JavaScriptVBScriptVyber a zkopíruj do schránky

//Vytvoří akci
var oAction = Pm.CreatePmAction(1, pMe, "MyMeth1");
oAction.PrivateData.id = "Teplota";
oAction.PrivateData.val = 56;
//Volání akce
oAction.Call();

Historie:
Pm8.03.06: Nový pomocný objekt. Lze v něm definovat akci - volání metody projektanta objektu.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice