Událost onValueChanged se vyvolává nesprávně

V tomto fóru můžete hlásit nalezené chyby, dávat návrhy na vylepšení vývojářům PROMOTIC SCADA software a vkládat ostatní témata.

Událost onValueChanged se vyvolává nesprávně

Postby kmpc » Wed 26. Jun 2024 7:21:57

Dobrý den, používám prvek pro zadání čísla a jeho událost onValueChanged, abych si uživatelskou změnu hodnoty (čísla) zapisoval do deníku ve formě např. "toto změněno z hodnoty X na Y". Používám verzi 9.0.27.0

V popisu události onValueChanged je uvedeno: "Událost je vyvolána až po potvrzeném ukončení editace." Toto ale není pravda, protože událost se vyvolá i při jakékoli jiné změně hodnoty připojené proměnné, tj. i bez potvrzené editace uživatelem. Událost se vyvolá i např. příchodem jiné hodnoty komunikací s řídícím systémem, nebo změnou hodnoty proměnné na jiném místě aplikace, nebo např. po nájezdu aplikace, pokud je aktivní panel s prvkem čísla a stihne zachytit změnu proměnné z nenačteno (0) a první načtení z komunikace...
kmpc
 
Posts: 34
Joined: Thu 12. May 2016 6:39:20

Re: Událost onValueChanged se vyvolává nesprávně

Postby Tomáš Bräuer » Wed 26. Jun 2024 15:00:08

Dobrý den,
tak to je chybička v poznámce u onValueChanged.
Protože po ukončení editace je volána událost onDataEditAccept. Zatímco onValueChanged je volána vždy po každé změně. Poznámka byla omylem zkopírována z onDataEditAccept i do onValueChanged.
Nicméně hlavní popis události je přesný.
Viz Události tohoto objektu:
onDataEditAccept - Vyvolá se po ukončení editace hodnoty objektu
onValueChanged - Vyvolá se po změně hodnoty objektu
Děkuji za upozornění.
Tomáš Bräuer
Administrátor
 
Posts: 163
Joined: Thu 13. Dec 2012 9:13:13

Re: Událost onValueChanged se vyvolává nesprávně

Postby kmpc » Fri 28. Jun 2024 5:34:15

Dobrý den,
pak by se mi ale v události onDataEditAccept velmi líbila vlastnost Event.OldValue.
Takto to vypadá, že si původní hodnotu budu muset při onValueChanged zapisovat do pomocné proměnné prvku PmgNumber, abych ji tam pak při onDataEditAccept našel... Nebo je jiný způsob, jak v onDataEditAccept zjistit předchozí hodnotu?
kmpc
 
Posts: 34
Joined: Thu 12. May 2016 6:39:20

Re: Událost onValueChanged se vyvolává nesprávně

Postby Tomáš Bräuer » Wed 07. Aug 2024 13:34:45

Dobrý den!
Přidal jsem parametr pEvent.OldValue i do událostí onDateEditAccept do objektů PmgNumber, PmgString a PmgWEdit. Tak jako už to bylo v události onValueChanged, který je ale volán později (a navíc při každé změně hodnoty).
Úprava se objeví v příští verzi PROMOTIC 9.0.29.
Tomáš Bräuer
Administrátor
 
Posts: 163
Joined: Thu 13. Dec 2012 9:13:13


Return to Hlášení chyb, návrhy na vylepšení, ostatní...

Who is online

Users browsing this forum: No registered users and 1 guest

cron