问题:我有个字符串变量,里面存储了一个对象的名字,这个对象是Tlabel,但可能是label1,也可能是label2,label3,我想引用这个对象,比如,对象.caption := 'aa',该如何引用?请技术好的朋友指教。

解决方案 »

  1.   

    if FindComponent('sdf') is TLabel then
        (FindComponent('sdf') as TLabel).Caption := 'asdfasdf';
      

  2.   

    写个窗体类函数,以后直接调用就可以了!
    function ChangeLabelCaption(ALableName, ANewCaption: String): String;
    begin
      if FindComponent(ALableName) is TLabel then
        (FindComponent(ALableName) as TLabel).Caption := ANewCaption;
    end;
      

  3.   

    for i:=1 to 8 do
      begin
       Tlabel(findcomponent('label'+inttostr(i))).Caption:='aa';
      end;
      

  4.   

    如果你确定是lable的话,可以直接写     
    TLabel(Self.FindComponent('lable1')).Caption:='aa';
    如果不确定的话就需要用is来判断一下类型后再赋值了