I have attached a simple program which looping through an ACCEPT screen with a TIMEOUT to illustrate the problem.
when entering data in the "Name from" field, enter 5 characters, then wait until the time changes. Then enter 2 different characters. You will see that the 2 characters are used to overwrite the data in position 1 of the field which is incorrect.
Also if you modify the code to change the "W-NAME1" variable to be PIC X. Then run the program again, enter 7 or 8 characters and quickly use the BACKSPACE key to erase 5 or 6 of the characters before the timeout... it corrupts other data on the screen.
I've not studied the code in screenio.c to understand if the accept verb is moving the data to the receiving field as each character is entered or when exiting from the field. I think that it should be done when exiting the field.
Waiting for response from Simon.
Chuck Haatvedt
Bugs: #1110
Commit: [r5469]
Discussion: How to Display continuously updating time on screen
fixed by Chuck in [r5360]
Related
Commit: [r5360]