The Delphi Bug List

Entry No.
685
RTL - Sys - Variants
Apps compiled in Delphi 6.02 will not start on Windows 95 or 98 without DCOM 1.2 or later.
1.02 2.01 3.0 3.01 3.02 4.0 4.01 4.02 4.03 5.0 5.01 6.0 6.01 6.02 Kylix 1.0
AbsentAbsentAbsentAbsentAbsentAbsentAbsentAbsentAbsentAbsentAbsentAbsentAbsentExistsN/A
Description
Reported by Jordan Russell
Apps compiled in Delphi 6.02 will not start on Windows 95 or 98 without DCOM 1.2 or later. This is because the Variants unit now tries to statically import the VarNot and VarNeg functions from OLEAUT32.DLL.

As it came as a surprise to Borland when it was reported to them that Delphi 6.02-compiled apps no longer run on Windows 98 (first edition) without patches, it is clear that this change in system requirements was not intentional and thus can be classified as a bug.

Interestingly, this also marks the first time in Delphi's long history that the simplest of applications (e.g. "hello world") have required OS patches in order to run.

Solution / workaround
John Kaster (Borland) has posted a workaround that involves modifying Variants.pas. (Note: The message only mentions Windows 95 because it was posted before it was realized that the same problem afflicted Windows 98 - a Windows version "certified" for Delphi 6.)

However, it isn't a perfect solution. It doesn't work for those who use run-time packages, and it also obviously breaks any code that tries to "not" or negate a Variant.

Latest update of this entry: 2002-02-28

Post a comment on this bug


Index page
Delphi Bug List home page
The Delphi Bug Lists are presently maintained by Jordan Russell, who has taken over this task from Reinier Sterkenburg since August 2000.
All feedback is appreciated. See also the feedback section of the Delphi Bug List home page.