Not responding error in Windows 7 when running Progress 9.1.

Posted by bunyaw on 13-Apr-2012 05:00

Help please, i am running a Progress 9.1e program on Windows 7, it generates a big file. When i leave this screen open any other eapplication, when i return to the Progress session it shows not responding but meanwhile it will be running in the background. How can i ensure that it does not appear like its not freezing. See attachment.

[View:~/cfs-file.ashx/__key/communityserver-discussions-components-files/28/Doc1.docx:550:0]

All Replies

Posted by alex.bodson on 14-Apr-2012 09:04

hi

we had a similar experience, however, the problem only occured when running a W7 aero-theme.

so you might wanna set your desktop to a W7 basic theme and see what happens.

regards,

alex

Posted by bunyaw on 16-Apr-2012 07:11

I tried that but still no joy. thanks!

Posted by Rob Fitzpatrick on 16-Apr-2012 20:55

I don't see the problem.  Or more to the point, I don't see what you expect Progress to do about it.

The DWM (Desktop Window Manager) has painted your window with "frosted glass" and appended "(Not Responding)" to its window title.  As with previous versions of Windows, seeing "Not Responding" in the title bar or in the window's line item in the Tasks tab of Task Manager does not mean that the application is broken or hung or in an infinite loop.  It just means that the thread that owns the window is not currently waiting for window messages.  Being single-threaded, the AVM doesn't have a dedicated UI thread that can keep repainting the window and responding to window messages while the code runs.

As far as I know this is expected behaviour in Windows.

As for your code, if you are running in some big loop creating file line items, the only thing I can think of that you could do to address such a cosmetic issue is to break it up into smaller nested loops.

I have no idea if this approach is applicable to you, or even if it would work, but it's worth a try.  Instead of:

do i = 1 to 100000:

  /* do stuff */

end.

try this:

/* these loop dimensions are arbitrary */

do i = 1 to 100:

  do j = 1 to 1000:

    /* do stuff */

  end.

  process events.

end.

Nested loops aren't a performance win, but it sounds like cosmetics are the priority here.  This might make your app seem "responsive enough" to the DWM so it doesn't get frosted.  Give it a try.

Posted by bunyaw on 17-Apr-2012 02:14

Thanks will give a go!

This thread is closed