Как обратиться к объекту по его имени?

Здравствуйте, уважаемые форумчане. Не подскажите, как такое реализовать:
var i : Ineteger; sObjName : String;BEGIN For i := 1 to 10 do  begin   sObjName :='A' + IntToStr(i);   // Теперь обращаемся к обьекту (при условии, что он существует) по имени sObjName  end;END.
 Всем заранее спасибо.
9 ответов

например так
vari: integer;btn: string;beginbtn := 'Button1';  for i  := 0 to Form1.ComponentCount - 1 do     begin      if Form1.Components[i].Name = btn then       with Form1.Components[i] as TButton do Click;      end;  


casinosoftguru, Спасибо, попробую, о результатах отпишусь.


casinosoftguru, Да, это подходит, но можно ли это как-нибудь организовать без цикла?


но можно ли это как-нибудь организовать без цикла? 
Нет, а как ты себе это представляешь? В цикле мы перебираем все компоненты формы и если находим нужный - с ним уже работаем.


TButton(FindComponent('Button1')).Click;


*****, о как. Запомним.  


*****, То, что нужно!   Спасибо!    +1


TButton(FindComponent('Button1')).Click;
Только надо не забывать, если такой кнопочки не будет или это будет некнопочка - мы получаем access violation at address
bnt := FindComponent();if Assigned(btn) and (btn is TButton) then  (btn as TButton).Click();
---Искренне ваш, К.О.


ну и ещё  одно дополнение: всё вышеперечисленное работает с объектами:1) наследованными от TComponent;2) размещёнными на форме.В общем случае ответ на поставленный вопрос - никак.