This week a procedure that has been in use for a year and used hundreds of times has started to crash. I could not figure out a cause by studying the code, but eventually found that it crashed when it reached a custom statement that I included, which I call PleaseWait. The PleaseWait procedure opens a dialog and displays a message of the user’s choosing. The purpose is to prevent a stray mouse click from interrupting a procedure. I had found if you click on a different Panorama database while a procedure is running that that can cause problems. So PleaseWait prevents that problem because Panorama ignores mouse clicks while the dialog window is open.
I recall that some recent changes to the rundialog statement now provide a method to escape from a dialog that has not been closed with a closedialog statement. I wonder if it is possible that the changes to rundialog are related to the crashes that I have seen.
Oddly enough, I moved the PleaseWait statement to 10 lines later in the procedure and crashes are not occurring. I have no theories at the moment of what is happening, so I will continue to thrash about hoping to stumble on some useful clues.