Herzlich willkommen in der Delphi-PRAXiS, champion.
Bei deiner Implementierung scheinen dir zwei Flüchtigkeitsfehler unterlaufen zu sein, wenn ich nicht irre:
Delphi-Quellcode:
// ...
While (links <= rechts) do
// ...
If (links < rechts + 1) then
// ...
Freundliche Grüße vom marabu