Ab Delphi 2009 ist ein TDictionary dafür ideal. Wenn man zum Beispiel zu jeder Komponente nur einen String zwischenspeichern will, kann man sich den Datenspeicher so deklarieren und erzeugen:
Delphi-Quellcode:
var
ZusatzInfo : TObjectDictionary<TComponent, string>;
begin
ZusatzInfo := TObjectDictionary<TComponent, string>.Create;
Und dann speichern:
ZusatzInfo.Add(Button1, 'Infotext zu Button 1');
Lesen:
Text := ZusatzInfo[Button1]; // Text enthält jetzt 'Infotext zu Button 1'