Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Objekt PmAction (Akce)

Popis:
Objekt představuje akci, která lze později vyvolat.
Vlastnosti a metody:
Call Vyvolá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 pro Web Obrazy. Nefunguje však v prohlížeči InternetExplorer8 a nižší.
 
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, vůbec nemusí vědět co vlastně ve skutečnosti volá (např. neví, že se zavolá nad nějakým objektem nějaká uživatelská metoda s nějakým parametrem).
 
Způsoby použítí 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 tomto 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é uživatelské metodě 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ření akce: V této části se vytvoří akce typu "volání uživatelské metody" 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 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á uživatelská metoda "MyMeth1" (metoda definovaná v záložce 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.

Tzn. tento objekt obsahuje dříve nastavené vlastnosti "id" a "val".

---------------------
Příklad pro jazyk VBScript:
Vytvoření akce:
Dim oAction
Set oAction = Pm.CreatePmAction(1, pMe, "MyMeth1")
oAction.PrivateData.mapSetValueAt "id", "Teplota"
oAction.PrivateData.mapSetValueAt "val", 56
Volání akce:
oAction.Call
---------------------
Příklad pro jazyk JavaScript:
Vytvoření akce:
var oAction = Pm.CreatePmAction(1, pMe, "MyMeth1");
oAction.PrivateData.id = "Teplota";
oAction.PrivateData.val = 56;
Volání akce:
oAction.Call();
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice