Hi, I have nearly completed a nice little animation control in VB
6 sp5. I can have multiple collections of 'cells' (basically a class
that contatins IPictureDisp objects and various other data) and
can animate each collection via an independent timer control I
constructed. I tried animating 30 independent objects (each
about the size of a silver dollar and containing 9 frames apiece)
and all went well. I did this on Windows NT and Win2k. I tried the
same thing on Windows ME and *Poof*, the GDI crashed. I
lowered the number of simultaneously animating objects to 15
and then it worked on ME. This perplexed me as the machine in
question had 256mb of RAM and coutless amoutns of VM. I ran
the resource meter program and it showed that my GDI resources
were low when I had 15 objects animating. A little more research
informed me that the GDI on Windows 95, 98, and ME can only
handle a low amount of graphics loaded into memory (about half
a meg). This is due to some sort of backward compatibility
enforcement with 16-bit applications from the old days.

Anyhow, I am sorely dissapointed at this limitation but I need
my control to be effective on all OS' without being a resource
drain. My plan of attack would be to:

1) Load a picture directly into memory (the equivelant of having
a big pure 'void *' variable).
2) Load the picture from memory into a IPictureDisp object.
3) Release the IPictureDisp object when finished copying the
desired image to a device context.

Seeing as how there is no 'void *' data types in VB I am not quite
sure how to go about 1). As for 2), I would need a way to copy
the memory reference into a IPictureDisp object. Once again
I am not sure how to go about this.

If anyone has any suggestions on how to accomplish 1) and/or
2) I would greatly appreciate it.

Thanks,

-CC