Die Methode (in D12) sieht immer noch so aus, aber der Setter prüft:
if (Index = -1) or (Value <> Selected[Index]) then
Ich vermute, dass sie davon ausgingen, dass das geprüft wird (machen fast alle Setter in der
VCL), und deshalb die Methode so gemacht haben (was allerdings von der Performance nicht so geil ist, da ständig den Setter erst für aufzurufen).
Hat der Setter diese Prüfung in deiner Delphi-Version nicht?