Ein paar Dinge gleich nach dem ersten Duchsehen:
- Der Index in TObjectList ist 0-basiert, TClsButtonInfo.Num fängt aber bei 1 an.
- Das Löchen von Elementen aus einer Liste funktioniert nur dann richtig, wenn man for I:=<ende> downto <start> do
verwendet.