Promotic

Objekt PmAction

Popis:
Objekt představuje akci, která lze později vyvolat.
Tento objekt je zastaralý (ale funkční) a je určena pouze pro jazyk VBScript. Pro jazyk JavaScript je jednodušší a obecnější použít function.
Vlastnosti a metody:
Call()Volání akce
PrivateDataObjekt s projektantem definovanými vlastnostmi
Poznámka:
- Objekt lze vytvořit metodou 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: Vytvořeno
© MICROSYS, spol. s r.o.