DelphiFAQ Home Search:
General :: Programming :: Delphi :: Delphi IDE
Information about the Delphi IDE, add-in experts and wizards.

Articles:

This list is sorted by recent document popularity (not total page views).
New documents will first appear at the bottom.

This is the FULL list of all articles in this category.

Featured Article

Delphi (Delphi 4) hangs on startup

From Jeff Overcash (overcash@onramp.net):

There is a bug in some video cards 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. Apply SP2 and SP3 to your Delphi4 at
    http://www.inprise.com/devsupport/delphi/downloads/index.html.
    SP2 tries to workaround the problem by prebuilding the imagelist large
    enough so it should not start in internal memory and start in main
    memory.
  2. Get the latest driver (www.s3.com 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.
    (display->properties->settings->advances->performance)
  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.

Generated 12:01:18 on May 26, 2018