Board index » delphi » Delphi 5 - Quantity of Images That The Delphi IDE′s Component Palette With Windows NT 4.0

Delphi 5 - Quantity of Images That The Delphi IDE′s Component Palette With Windows NT 4.0


I has with problem in visualization on quantity of images that the Delphi 5
IDEs component palette with Windows NT 4.0, using video drivers SiS 620,
in hardware HP Brio Celeron 433 - Model C433 - Product D8413A.

Tank you,

Paulo Mello
Consult Consultoria e Informtica
Curitiba - Paran - Brasil


Re:Delphi 5 - Quantity of Images That The Delphi IDE′s Component Palette With Windows NT 4.0

There is a bug in some video card drivers in the way they handle the
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
main memory to complete the building on large imagelist's like the 180+
component palette list.  The S3 chipset has been particularly problematic
is even worse).

Try these

1) Apply SP2 and SP3 to your Delphi4 at  SP2
tries to workaround the problem by prebuilding the imagelist large
enough so it should not start in internal memory and start in main
2) Get the latest driver ( or your vendor if your vendors
doesn't work, try the S3 as they tend to be more compliant)
3) Start Delphi with the -ns switch
4) Under the [display] section of the SYSTEM.INI file
add the following line
    BusThrottle=1 (reboot afterwards)
5) 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.
6) reduce the hardware acceleration for the card.
7) play with color depth/resolution  1024x768 in 16 bit color seems the
worse (particularly with Delphi 3).
8) Get the latest DirectX drivers.

Also Delphi 4 can not run in Win98 under 16 color mode.  You must be at
least at 256 colors.

PS.  Both SP2 and SP3 try to workaround this by creating the initial
ImageList large enough so that it either a) starts in main memory or b)
will not have to grow while adding.  There really is not much more that
Borland can do.  This is a driver bug and the workarounds have actually
exposed bugs in other drivers that deal with creating large initial
ImageLists.  In this case Borland was damned if they did, damned if they
didn't.  SP1 was included in SP2 so when you installed SP2 you also got
the first patch.  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.

R/S Aaron Rhodes
Delphi Technical Support

Other Threads