Project JEDI - Issue Tracker
Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005983 [JEDI VCL] 00 JVCL Components minor always 2012-09-14 19:31 2015-09-14 13:20
Reporter boerema1 View Status public  
Assigned To obones
Priority normal Resolution fixed  
Status resolved   Product Version Daily / GIT
Summary 0005983: CheckWin32Version which is used in several components has a bug in Delphi 6
Description The CheckWin32Version from Delphi6 has a bug that was fixed in D7.
As a consequence the components using this don't work as they should when compiled with D6.
See:
http://www.distribucon.com/blog/CommentView,guid,299.aspx [^]
and
http://docwiki.embarcadero.com/Libraries/en/System.SysUtils.CheckWin32Version [^]

There is an unofficial D6 patch available but that of course only works for people that notice the bug and find the patch to fix this.
See:
http://cc.embarcadero.com/item/17706 [^]
Additional Information
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0020359)
obones (administrator)
2013-01-15 15:32

Are you sure we are using the built-in one and not one from the JCL?
If we are using the built-in one, can you propose a replacement?
(0020400)
boerema1 (reporter)
2013-01-16 13:57

I can't find a function with the same name defined in the JCL so no the JVCL isn't using a JCL version.

The implementation by Dan Miser from the first link in my previous post seems to work fine:

function FixedCheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean;
begin
  Result := (AMajor < Win32MajorVersion) or
            ((AMajor = Win32MajorVersion) and
             (AMinor <= Win32MinorVersion));
end;

I'm not sure what the best way would be to implement it for all files in the JVCL. IFDEF Delphi 6 or just always use the above function.

For rereference here is the list of files from the JVCL that use CheckWin32Version:

\jvcl\run\JvOutlookBar.pas
\jvcl\run\JvExStdCtrls.pas
\jvcl\run\JvDialogs.pas
\jvcl\run\JvDateTimePicker.pas
\jvcl\run\JvBalloonHint.pas
\jvcl\run\JvDBLookup.pas
\jvcl\run\JvWinDialogs.pas
\jvcl\run\JvRichEdit.pas
\jvcl\run\JvCaptionButton.pas
\jvcl\run\JvExMask.pas
\jvcl\run\JvToolEdit.pas
\jvcl\run\JvDockControlForm.pas
\jvcl\run\JvListView.pas
\jvcl\run\JvEditorCommon.pas
\jvcl\run\Hid.pas
\jvcl\run\JvMenus.pas
\jvcl\run\JvComCtrls.pas
\jvcl\run\JvThemes.pas
\jvcl\devtools\JvExVCL\src\JvExMask.pas
\jvcl\devtools\JvExVCL\src\JvExStdCtrls.pas
(0020841)
obones (administrator)
2013-12-13 17:12

There is a function in JclSysInfo called JclCheckWinVersion that already offers the fixed version.
(0020842)
obones (administrator)
2013-12-13 17:35

This is now fixed in GIT

- Issue History
Date Modified Username Field Change
2012-09-14 19:31 boerema1 New Issue
2013-01-15 15:32 obones Note Added: 0020359
2013-01-15 15:32 obones Status new => feedback
2013-01-16 13:57 boerema1 Note Added: 0020400
2013-12-13 11:39 obones Status feedback => acknowledged
2013-12-13 17:12 obones Note Added: 0020841
2013-12-13 17:35 obones Note Added: 0020842
2013-12-13 17:35 obones Status acknowledged => resolved
2013-12-13 17:35 obones Fixed in Version => Daily / GIT
2013-12-13 17:35 obones Resolution open => fixed
2013-12-13 17:35 obones Assigned To => obones
2015-09-14 13:20 obones Fixed in Version Daily / GIT => 3.48


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker