From: Francois G. Francois on
Hello all,

When using our application (ERP software) in a TS Session, we get an error
480 "Can't create autoredraw image"pretty quickly when trying to display
reports - about after 7 reports are displayed. The problem is proportional to
the TS Session's resolution and color depth. On a XP workstation, we can
display in excess of 25 reports before we hit the error. One of our customers
can't even display a single report.

Using Dheapmon shows the desktop heap being used at most at 15%, so the
desktop heap is not at cause. Free memory is also a plenty (in excess of 3Gb
free), and GDI objects are well under 2K per process (which is very far from
the 10K per process limit). The number of users connected to the TS server
does not seem to impact the number of reports that can be displayed per
session.

Our software is written in VB6 and our report viewer uses PictureBox
controls and MemDC objects, we are working on optimizing to reduce its
footprint, but we would like to know WHAT resource to track and monitor! We
don't want to radically change our report viewer at the moment as a lot of
dev time has already been invested in it, and it works *fine* in all
situations except this one...

Does anyone have any idea how/what we could monitor to resolve this issue?
(we have an open ticket with Microsoft at the moment, but progress is slow...)
From: Francois G. on
*bumb*

Well, anyone have *any* clue about this issue?

I've written a sample VB6 program to demonstrate the issue: a simple user
control onto which borders are drawn with the native "Line" command.
With the Autoredraw property set to "True", as soon as any graphic drawing
method (Textwidth, Circle, Line) is invoked on a control too big, an error
480 is generated.
GDI objects are ridiculously low, User Objects too, Dheapmon too, everything
seems way under any kind of limit.

Anybody have any clue?

What ressource does a PictureBox w. AutoRedraw=True use in TS? How do we
monitor that?

T.I.A

Frustrated in MTL, Francois G.
From: Helge Klein on
Francois,

Sorry, I know this is not what you are hoping for, but:

You state that you hit the error on an XP box without terminal
services after roughly 25 reports have been displayed. To me that
clearly sounds like a problem in your application. Should it not run
"infinitely" (meaning: very long) withouth errors? Well-written
applications do. Can you imagine Photoshop quitting after having
opened 25 images?

Again, I am sorry I have nothing better to contribute to the solution.

Helge

On 1 Jun., 22:19, Francois G. <Franco...(a)discussions.microsoft.com>
wrote:
> *bumb*
>
> Well, anyone have *any* clue about this issue?
>
> I've written a sample VB6 program to demonstrate the issue: a simple user
> control onto which borders are drawn with the native "Line" command.
> With the Autoredraw property set to "True", as soon as any graphic drawing
> method (Textwidth, Circle, Line) is invoked on a control too big, an error
> 480 is generated.
> GDI objects are ridiculously low, User Objects too, Dheapmon too, everything
> seems way under any kind of limit.
>
> Anybody have any clue?
>
> What ressource does a PictureBox w. AutoRedraw=True use in TS? How do we
> monitor that?
>
> T.I.A
>
> Frustrated in MTL, Francois G.