Ich habe mal einiges ausprobiert und mir anzeigen lassen, um Missverständnisse zu vermeiden:
Code:
meine Version: 20191102.1
Ausgangssituation:
isChange: 0
isLearn: 0
isDetect: 0
isReset: 0
isSave: 0
isClear: 0
stateLearn: 0
stateDetect:0
--------------------------------
Status nach Änderung der Matrix + Change:Ok
isChange: 1
isLearn: 0
isDetect: 0
isReset: 0
isSave: 0
isClear: 0
stateLearn: 0
stateDetect:0
--------------------------------
Status nach Learn
isChange: 0
isLearn: 1
isDetect: 0
isReset: 0
isSave: 0
isClear: 0
stateLearn: 1
stateDetect:0
--------------------------------
Status nach Detect
isChange: 0
isLearn: 0
isDetect: 1
isReset: 0
isSave: 0
isClear: 0
stateLearn: 1
stateDetect:1
--------------------------------
Status nach Reset
isChange: 0
isLearn: 0
isDetect: 0
isReset: 1
isSave: 0
isClear: 0
stateLearn: 1
stateDetect:1
--------------------------------
Status nach Save
isChange: 0
isLearn: 0
isDetect: 0
isReset: 0
isSave: 1
isClear: 0
stateLearn: 1
stateDetect:1
--------------------------------
Status nach Change:Ok, ohne Änderung der Matrix
isChange: 0
isLearn: 0
isDetect: 0
isReset: 0
isSave: 1
isClear: 0
stateLearn: 1
stateDetect:1
--------------------------------
Status nach Änderung der Matrix + Change:Ok
isChange: 1
isLearn: 0
isDetect: 0
isReset: 0
isSave: 1
isClear: 0
stateLearn: 1
stateDetect:1
Was mir dabei aufgefallen ist:
Die Buttons Learn, Detect, Reset, Save und Clear setzen den Status aller anderen Buttons auf "0". Change aber tut das nicht.
Daher: Wenn eine Änderung von Dir registriert wurde, weil isChange == 1 war, muss isChange von Deinem Programm auf "0" gesetzt werden. Solang dies nicht geschieht, bleibt isChange (nach erfolgter Änderung) auf "1", bis Du es entweder löschst oder einer der anderen Buttons angeklickt wurde.
Zu stateLearn und stateDetect steht auch was in der Beschreibung. Wurden die zugehörigen Buttons angeklickt, bleiben diese Variablen auch so lange auf "1", bis Du sie änderst. Bei "1" erscheint hier der zugehörige Button im Browser dann in Rot.
- - - Aktualisiert - - -
hast du nicht geschrieben, dass isChangeM die MatrixClicks abfragt? das ist aber nicht wichtig.
Wichtig ist nur, dass der Change:OK Button abgefragt wird (isChangeOK) und dann auf Abfrage von isChangeOK ohne wenn und aber den aktuellen Matrix-Inhalt übermittelt.
Ich habe oben schon geschrieben, dass dies so funktioniert. Das hat immer so funktioniert. Siehe: https://www.roboternetz.de/community...l=1#post656202
Lesezeichen