View Issue Details

IDProjectCategoryView StatusLast Update
0006769JEDI VCL00 JVCL Componentspublic2023-12-31 01:04
ReporterrvkAssigned ToAHUser 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionDaily / GIT 
Target VersionFixed in VersionDaily / GIT 
Summary0006769: Loading of wrong class in TJvRichEdit when RICHED20.DLL is used
DescriptionJvRichEdit.pas tries to load RichEdit40ModuleName (MSFTEDIT.DLL).
If that fails it will load RichEdit20ModuleName (RICHED20.DLL) instead.

For RICHED20.DLL the RichEditVersion is initially set at 2.
But directly below, the RichEditVersion is set to the fileversion (FI.dwFileVersionMS and $FFFF) div 10 from the RICHED20.DLL.
It happens to be that RICHED20.DLL can contain a version number 5.0 so RichEditVersion is 5.

Later on in CreateParams there is this line:
if RichEditVersion >= 4 then
  CreateSubClass(Params, MSFTEDIT_CLASS)
So it will try to create a MSFTEDIT_CLASS for the RICHED20.DLL which isn't going to work.
Steps To ReproduceThe complete TJvRichEdit component doesn't work when MSFTEDIT.DLL fails to load and RICHED20.DLL is used.

The check in TJvCustomRichEdit.CreateParams should also check if MSFTEDIT.DLL is really used before using MSFTEDIT_CLASS.
(or the RichEditVersion should be hardcoded to a maximum of 3 to make sure MSFTEDIT_CLASS isn't used)
TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2023-12-08 19:08 rvk New Issue
2023-12-31 01:04 AHUser Assigned To => AHUser
2023-12-31 01:04 AHUser Status new => resolved
2023-12-31 01:04 AHUser Resolution open => fixed
2023-12-31 01:04 AHUser Fixed in Version => Daily / GIT