If you are attempting to change a record using this sequence in a script during a loop,


and a form is open to a particular record in edit mode, the script locks up on the t.change_begin(), and no error is thrown. You have to invoke task manager to shut the entire application down. It's hopelessly locked up.

Now you can run a test to see if the record is locked (in change mode) before you do the t.change_begin(), but you cannot unlock it and shut the form down/change the mode to update it (Can you?).

According to the help file, attempting to do a t.change_begin() on a table that is already in change mode, throws an error:

"ERROR: The process cannot access the file because another process has locked a portion of the file. xxx.dbf"

If you run the code example under the topic Record Locking, you will lock the system up when you try to do t.change_begin() on a table that is already in change mode.

So what do you do in this situation? There should be a way to unlock the record and re-lock it, or shut down the form that has the record in change mode so you can update the record in question.

This problem also exists in V10.