Promotic

onItemAfterWrite - událost objektu PmaData

Popis:
Událost je vyvolána po zápisu do (změně) hodnoty jedné proměnné definované v kartě "Data".
Parametry:
pMe(Object) Reference na PmaData objekt, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt, který popisuje informace o dané události.
pEvent.Item - (Object) [pro čtení] Objekt PmVar obsahující informace o proměnné, ve které došlo k zápisu (ke změně)
pEvent.OldVal - (Variant) [pro čtení] Stará hodnota proměnné. Proměnná měla tuto hodnotu před zápisem.
pEvent.OldQuality - (Long) [pro čtení] Stará kvalita proměnné. Proměnná měla tuto kvalitu před zápisem.
Poznámka:
Aby došlo k volání této události pro určitou proměnnou, je nutno:
- V proměnné vytvořit datové rozšíření ExtWriteAction.
- V tomto datovém rozšíření povolit volání této události (viz konfigurátor "ExtWriteAction > Datové rozšíření ExtWriteAction > Událost "onItemAfterWrite"").
Zde se také určuje, zda událost je vyvolána po každém zápisu nebo po každé změně hodnoty.
 
Pokud se toto vyvolání povolí pro každou proměnnou a dojde k zápisu do (změně) všech proměnných najednou, pak událost je vyvolána pro každou proměnnou zvlášť!
Použití této události je vhodné například pro informování a testování hodnoty pro účely alarmu, nebo pro speciální akce, které mají nastat, pokud se proměnná změní.

Upozornění:
Událost je vyvolána pouze pokud se provede skutečný zápis (např. objekt.Item(0).Value=3) do proměnné - označme ji A.
Pokud ale v proměnné A je datová vazba (při čtení) na jinou proměnnou B (v jiném objektu) a provede se zápis do proměnné B, pak proměnná A se o této změně nedozví a proto událost není vyvolána (proměnná A se o změně dozví teprve, až ji bude někdo číst - tehdy se "provede" datová vazba - ale opět událost není vyvolána !).
Viz také:
Příklad:
Následující skript v události onItemAfterWrite vypíše informace o zapisované hodnotě do položky Debug INFO systému - vypíše název proměnné do které se zapisovalo, index proměnné a starou a novou hodnotu proměnné.
JavaScriptVBScriptVyber a zkopíruj do schránky

Pm.Debug("Name:" + pEvent.Item.Name);
Pm.Debug("Index:" + pEvent.Item.Index);
Pm.Debug("NewValue:" + pEvent.Item.Value);
Pm.Debug("OldValue:" + pEvent.OldVal);

Historie:
Pm9.00.18: Nový parametr pEvent.OldQuality obsahuje původní kvalitu proměnné před zápisem.
© MICROSYS, spol. s r.o.