OK, it was worth mentioning, but sounds like you have that covered. I
wonder if you have any filters registered that could be the culprit. Are
unregistering some of them to see if that makes a difference. I know I'm
clutching for straws, but ...
Tom,
Yes. I always have the 'extra' columns enabled - including handles,
threads, user objects, and gdi objects.
The app keeps track of GDI objects usage on its own by calling
GetGuiResources(). The count returned by the API agrees with what I see
in the Task Manager. Could not see any leaks - the count stays at 114.
And the fact that the app sometimes fails just after 2-3 hours and another
times after 3 or more days would suggest that this not a resource issues.
What is really frustrating in this case is that I have no way of detecting
it. I know that GDI+ calls are taking place (I have different levels of
logging in the app, including diagnostics, so I'm certain of it) and those
calls do not return any errors.
Also, the flash object that my app uses from time to time, does not report
any errors either. The area of the screen that the object is supposed to
update though, does not get updated.
Bogdan
"Tom Serface" <tom@camaswood.com> wrote in message
news:edue521gKHA.1824@TK2MSFTNGP04.phx.gbl...
Hi Bogdan,
Did you try setting up the column for GDI resources in the Task Manager
to see if maybe something is leaking somewhere? You can set it up in the
options.
Tom
"Bogdan" <bogdan@nocompany.com> wrote in message
news:OSvxmrxgKHA.2160@TK2MSFTNGP02.phx.gbl...
I have an app that I developed some time ago for W2K. The app draws
text and graphics onto a CView derived window using GDI+. It also hosts
shockwave flash player that occasionally plays a clip in the same
window. The app could work 24x7 on W2K and XP.
I'm now testing the app on Windows 7 Home Premium. I'm running into a
strange problem. After running it for a while - sometimes it could be a
couple of hours, another times a couple of days - the app simply stops
drawing to the screen. That is, the app still calls the necessary APIs
but nothing happens on the screen.
I'm logging the most important calls to a file with their return codes
and there are no errors reported whatsoever. In addition, the shockwave
object is not displaying anything either and does not report any errors.
Quitting the app and restarting it fixes the problem (i.e. for another
couple of hours/days). So it is not a system wide failure.
I'm monitoring the most important resources (e.g. memory, handles, etc.)
and did not see any leaks. The app is not hung either. The app's
timers and worker threads are running when the app runs into the
problem. I could also bring up a dialog box belonging to the app and
move it around without any problems.
I realise that Windows 7 with its Direct3D Aero/WDM has to 'emulate'
GDIs but I'd rather expect some performance issues and not a complete
and undetectable failure like this.
Could anyone please give some ideas/pointers about how to troubleshoot
this one?
Thanks,
Bogdan