RRUZ / delphi-ide-theme-editor

Custom color highlighting for Object Pascal IDE's
https://theroadtodelphi.wordpress.com/
646 stars 81 forks source link

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

Closed XindongSu closed 8 years ago

XindongSu commented 8 years ago

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.