VCL Icons are messed up on opening

Every time I start Delphi 4 (with update 1,2,or 3) the icons in my VCL are messed up (black or those from other componenets). If I deinstall and reinstall the packages they are go OK but next time I open it they mess up again. Any ideas how to solve this.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

There is a bug in some video card drivers in the way they handle the ImageList API.  When an ImageList is being built in memory that cards will freeze the computer or corrupt the images when they have to swap the ImageList back out to main memory to complete the building on large imagelist's like the 180+ image component pallete list.  The S3 chipset has been particularly problematic (Win98 is even worse).  
Try these
1) Get the latest driver ( or your vendor if your vendors doesn't work, try the S3 as they tend to be more compliant)
2) Start Delphi with the -ns switch
3) Under the [display] section of the SYSTEM.INI file
add the following line
    BusThrottle=1 (reboot afterwards)
4) Reboot in safe mode and start Delphi.  Goto the properties of the component pallet and hide all the controls that you rarely use.  This will reduce the imagelist that is getting built and might get you under the threshold.
5) reduce the hardware acceleration for the card.
(display->properties->settings->advances->performance) 6) play with color depth/resolution  1024x768 in 16 bit color seems the worse (particularly with Delphi 3).
7) Get the latest DirectX drivers.
Also Delphi 5 can not run in Win98 under 16 color mode.  You must be at least at 256 colors.
PS.  If the BusThrottle works for you this is by far the
best solution.  All it does is instruct the driver that it must give a little time slice to the OS so affects on performance are not noticable (so far no one has reported back to me that they can even tell a difference between using and not using the BusThrottle setting except that Delphi runs).  Unfortunately not all drivers respect this setting.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
mike_tippingAuthor Commented:
I've changed the card for another and my problem has gone away.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.