unabhängig von Cristians Anmerkungen ist es auch so, dass du die Instanz des Icons nicht wieder frei gibst wenn es schon vorhanden ist.
Delphi-Quellcode:
if Icons.IndexOf(Icon) = -1 then
Icons.Add(Icon)
else
FreeAndNil(Icon);
Abers selbst wenn du dies tätest würde es dir nichts bringen, da die neue Instanz eh nicht in der Liste zu finden ist, auch wenn sie gleich aussehen. Aus diesem Grund auch Christians Hinweis auf die Handels.
Gruß oki