OT:
Und hierzu for I := List.Count - 1 downto 0 do begin
sei folgendes gesagt:
Der Compiler entscheidet ob vorwärts oder rückwärts gezählt wird, somit kann auch dieses hier in die Hose gehen
Das ist doch ein Scherz, oder? Wenn nicht, würde ich das gern in einem neuen Thread besprechen.