For now I use this workaround:
AFTER DELETE
LET nArrCount=p_list.getLength()
LET iArrCurr=arr_curr()
IF p_list[iArrCurr].field1 IS NULL THEN
CALL fgl_set_arr_curr(iArrCurr-1)
END IF
Thomas,
Avoiding such workarounds is exactly the reason why we have introduced new dialog attributes like AUTO APPEND...
This is especially important when you want to have a common behavior for all of your dialogs.
(will you implement this workaround in all you INPUT ARRAYs?)
Remarks:
1) With this code you don't prevent the user to create temporary rows with the down key or the mouse.
2) You must check all field values (and normally, the 'touched' flag too).
3) I believe you are missing to check that you are on the last row (iArrCurr == nArrCount)?
Create two new rows with empty values, go to the top most row with no values, delete, since next row replaces current row but has null values, you enter the if and jump to previous row. This should solved the problem:
IF iArrCurr==nArrCount AND p_list[iArrCurr].field1 IS NULL THEN
Anyway, could you explain what you want to achieve exactly?
Yes 2.11 has a bug, AUTO APPEND is not working as expected => Upgrade to recent version please.
Seb