使用TStringList存储对象和字符串
http://www.cnblogs.com/del/archive/2008/04/26/1172589.html
var
List: TStringList;
obj: TObject;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:Integer;
begin
List := TStringList.Create;
List.AddObject('btn', Pointer(IdThreadComponent1)); {这样也可以}
List.AddObject('xxx', IdThreadComponent1);
i:= List.IndexOf('xxxx') ;
obj := List.Objects[i];
ShowMessage(TIdThreadComponent(obj).ThreadName); {显示: Button1}
List.Free;
end;