Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onItemAfterWrite - zdarzenie objektu PmaData

Opis:
Zdarzenie jest wywołane po zapisie do (zmianie) wartości jednej zmiennej zdefiniowanej w zakładce "Dane".
Parametry:
pMe(Object) Odniesienie do PmaData obiektu, w którym dane zdarzenie powstaje.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Item - (Object) Obiekt PmVar zawierający informacje o zmiennej, w której doszło do zapisu (do zmiany)
pEvent.OldVal - (Variant) Stara (poprzednia) wartość zmiennej. Taką wartość miała zmienna przed zapisem.
Notatka:

Żeby doszło do wywołania opisywanego zdarzenia dla określonej zmiennej jest konieczne jawne zezwolenie wywołania tego zdarzenia (patrz konfigurator "ExtWriteAction > Konfiguracja rozszerzenia danych: ExtWriteAction > Zdarzenie "onItemAfterWrite""). Tam również można zdefiniować, czy zdarzenie zostanie wywołane po każdym zapisie lub przy każdej zmianie wartości.

Jeżeli wywołanie zostanie dozwolone dla każdej zmiennej i dojdzie do zapisu do (zmiany) wszystkich zmiennych jednocześnie, wtedy zdarzenie zostanie wywołane dla każdej zmiennej osobno!

Zastosowanie tego zdarzenia jest stosowne na przykład do poinformowania i testowania wartości w celach alarmu, lub do specjalnych czynności, które mają nastąpić, jeżeli dojdzie do zmiany wartości zmiennej.

 
Uwaga:

Zdarzenie jest wywołane tylko jeżeli zostanie wykonany rzeczywisty zapis (np. obiekt.Item(0).Value=3) do zmiennej - oznaczmy ją za zmienną A. Lecz jeżeli w zmiennej A jest zdefiniowane powiązanie danych (przy odczycie) do innej zmiennej B (w innym obiekcie) i zostanie wykonany zapis do zmiennej B, wtedy zmienna A nie dowie się o zmianie i dlatego zdarzenie nie zostanie wywołane (zmienna A dowie się o zmianie dopiero wtedy, aż ktoś będzie ją odczytywać - wtedy zostanie "wykonane" powiązanie danych - lecz ponownie zdarzenie nie zostanie wywołane !).

Patrz również:
Przykład:
Następujący skrypt w zdarzeniu onItemAfterWrite wypisze informacje o zapisywanej wartości do pozycji Debug INFO systemu - wypisze nazwę zmiennej do której został wykonany zapis, indeks zmiennej oraz starą i nową wartość zmiennej.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

Pm.Debug("Name:" + pEvent.Item.Name);
Pm.Debug("Index:" + pEvent.Item.Index);
Pm.Debug("NewValue:" + pEvent.Item.Value);
Pm.Debug("OldValue:" + pEvent.OldVal);
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice