View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005983 | JEDI VCL | 00 JVCL Components | public | 2012-09-14 19:31 | 2015-09-14 13:20 |
Reporter | boerema1 | Assigned To | obones | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | Daily / GIT | ||||
Target Version | Fixed in Version | 3.48 | |||
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 | ||||
Tags | No tags attached. | ||||
|
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? |
|
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 |
|
There is a function in JclSysInfo called JclCheckWinVersion that already offers the fixed version. |
|
This is now fixed in GIT |
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 |