Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onItemAfterWrite - zdarzenie objektu PmData

Opis:
Zdarzenie jest wywołane po zapisie do (zmianie) wartości jednej zmiennej zdefiniowanej w zakładce Dane.
Parametry:
pMe(Object) Odniesienie do PROMOTIC obiektu, w którym doszło do danego zdarzenia.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Item - (Object) Obiekt Var 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 będzie wywoływane 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)=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 nie dojdzie do wywołania zdarzenia !).

Patrz również:
Przykład:
Następujący skrypt w zdarzeniu onItemAfterWrite wypisze do pozycji Debug_info INFO systemu informacje o zapisywanej wartości - wypisze nazwę zmiennej do której został wykonany zapis, indeks tej zmiennej oraz starą i nową wartość tej zmiennej.
VBScriptWybierz 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