Was mir gerade aufgefallen ist
for i := ComponentCount-1 downto 0 do
Bei ComponentCount = 0 wird Components[0] angesprochen (das es nicht gibt)
Vieleicht ein Denkfehler von mir? Mache es aber so:
Delphi-Quellcode:
for i := ComponentCount downto 1 do
Components[i-1]...
Bei ComponentCount = 0 wird die Schleife nicht ausgeführt.