Outside Call ohne On data changed?

Nach der Eingabe in eine Variable will ich den eingegebenen Wert prüfen und ggf. korrigieren.
Das mache ich seit ewigen Zeiten mit dem Form-Event ‘ON DATA CHANGE’.

Wenn aber das Formular von einem anderen Prozess mit CALL PROCESS gerufen wird,
dann wird in der Variablen nicht nur ‘ON OUTSIDE CALL’ gefeuert, sondern auch ‘ON DATA CHANGE’.

Das führt dazu, dass man teilweise nichts in die Variable eingeben kann, weil bereits nach dem Tippen des ersten Buchstabens die ON DATA CHANGE feuert und die Eingabe als unzulässig ablehnt.

Siehe Beispiel-DB http://forums.4d.com/4DBB_Main/x_User/2905285/files/21936680.zip (4D v15)

Gibt es dafür eine Lösung?

ja, das ist das im Handbuch seit Einführung des Befehls dokumentierte Verhalten. Deshalb wäre ich jetzt nie auf die Idee gekommen, ein Formular in einem Prozeß rufen zu lassen, in dem ich gerade editiere. Um das zu vermeiden, kann ich entweder auf das Rufen bei der Eingabe verzichten, was aber eine umfangreiche Kommunikation über Flag/Variable voraussetzt. Einfacher ist, während der Eingabe das Event On Outside Call am Ziel abzuschalten. Geht mittels OBJECT SET EVENT seit v14. Ob das aber für Ihren Fall praktikabel ist, kann ich nicht beurteilen. Jedenfalls würde das Minimalbeispiel dann funktionieren. Ob das für das geplante Vorhaben in Ihrer Lösung klappt, das kann ich nicht beurteilen. Dann eventuell überdenken, ob der Plan so geschickt ist oder ob Sie einen anderen Ansatz wählen.

Leider geht es gerade darum, dass im aktuellen Eingabe-Formular etwas ausgeführt wird.
Konkret soll ein redundantes Feld geändert werden, das gerade von diesem Formular blockiert wird.

Ich werd es wohl von ON OUTSIDE CALL auf ON TIMER umstellen, oder später auf CALL FORM.