RRUZ/delphi-ide-theme-editor

uDelphiVersions.pas, function FillListDelphiVersions always detect XE6 is present when there is any version older than xe6 is installed.

XindongSu opened this issue · 0 comments

When there is any version older than XE6 is detected, the local variable "FileName" will be filled with the exe path of that version by line 372:
Found := RegReadStr(DelphiRegPaths[DelphiComp], 'App', FileName, HKEY_CURRENT_USER) and FileExists(FileName);

When XE6 is not installed, line 376:
FileName:=StringReplace(FileName, 'bds.exe', 'appmethod.exe', [rfReplaceAll]);
will be triggered. The local variable "Filename" will be used without proper initialization and happened to contains the exe path of last detected version. Results in XE6 is mis-detected.