Nein, es funktioniert auch in diesem Fall.
Die umgebende while-Schleife wird nur verlassen, wenn die Bedingung tatsächlich erfüllt ist. Wenn sich eine andere Zelle ändert, so wird die Methode zwar kurz aufgeweckt, aber da die Schleife nicht verlassen wird, wird die Methode sofort wieder suspendiert.
Es ist aber wichtig, dass man stopuntil und nicht waituntil verwendet. Wenn zwei Methoden gleichzeitig warten, und sich dann die Tabelle ändert, so wird zuerst eine der Methoden aufgeweckt werden (abhängig von prio). Ist die Bedingung nicht erfüllt, wird die Schleife nicht verlassen und die Zuweisung (Tabelle.Geaendert := false) erneut ausgeführt. Würde nun die zweite Methode mittels waituntil warten, würde sie jetzt nicht mehr aufgeweckt werden. Bei stopuntil ist aber garantiert, dass die Methode auf jeden Fall aufgeweckt wird, selbst wenn die Bedingung zu diesem Zeitpunkt schon nicht mehr erfüllt ist.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP