D.Cook
Member
Windows 7 (as opposed to XP) has a different mechanism that decides how a window is not responding. When a window is deemed not responding, the words "Not Responding" are added to the titlebar, but most annoyingly, any further window paints (at least, DISPLAY or MESSAGE statements) are ignored until Windows deems it as responding after the process has finished (I assume from a WAIT-FOR statement).
The most information I've managed to find about this is here, which is not very much.
http://stackoverflow.com/questions/...e-not-responding-state-on-windows-7-wm-update
I have tried using PROCESS EVENTS every few seconds, which seems to help, but after a minute it seems to become not responding anyway. And if the window loses focus, it will be marked not responding within a few seconds.
Does anyone know of a way (within ABL) to tell Windows that it is actually responding? I have found reference to the OS function DisableProcessWindowsGhosting() which I hopefully could call, but I'm hoping to fix the root of the problem, which is that the AVM is not responding regularly to the messages sent by the OS.
Of course, getting right to the root of the problem would be to create a background worker thread which is not possible without an app server..
The most information I've managed to find about this is here, which is not very much.
http://stackoverflow.com/questions/...e-not-responding-state-on-windows-7-wm-update
I have tried using PROCESS EVENTS every few seconds, which seems to help, but after a minute it seems to become not responding anyway. And if the window loses focus, it will be marked not responding within a few seconds.
Does anyone know of a way (within ABL) to tell Windows that it is actually responding? I have found reference to the OS function DisableProcessWindowsGhosting() which I hopefully could call, but I'm hoping to fix the root of the problem, which is that the AVM is not responding regularly to the messages sent by the OS.
Of course, getting right to the root of the problem would be to create a background worker thread which is not possible without an app server..