1.看你声明的位置了;
2.按你用法不如用控件数组。

解决方案 »

  1.   

    1、在类中Private或者Public中声明,其它过程就能调用该对象了。
    2、
    LikeSports:='';
    for i:=1 to 6 do begin
          case i of
              1 : cap1:='足球';
              2 :cap1:='篮球';
              3 :cap1:='乒乓球';
              4 : cap1:='游泳';
              5 :cap1:='网球';
              6 :cap1:='其他';
          end;
        dd:='checkbox'+IntToStr(i);
        if (FindComponent(dd) as TCheckBox).Checked then
            LikeSports:=LikeSports+cap1;
    end;