ComponentCount是Owner才有的。这里应该用ControlCount
for i := selectBigBox.ControlCount - 1 downto 0 do
  if selectBigBox.Controls[i] is TGroupBox then
    selectBigBox.Controls[i].Free;

解决方案 »

  1.   

    多谢指点。可以用了。有句话不理解,能解释解释吗?ComponentCount是Owner才有的。???
      

  2.   

    control 和component的区别是什么呢
      

  3.   

    Component:元件(特征:Owner;Components...)
    Control:控件(特征:Left;Parent...)
    WinControl:Win控件(特征:Handle...)
      

  4.   

    Owner //拥有者
    Parent //父容器TGroupBoxArray[i] := TGroupBox.create(self); 
                                         //Self就是TGroupBoxArray[i]的OwnerTGroupBoxArray[i].Parent := SelectBigBox;
                                //SelectBigBox就是TGroupBoxArray[i]的ParentOwner通过ComponentCount和Components或者FindComponent来查询
    Parent通过ControlCount和Controls来查询
      

  5.   

    你的代码中没有出现过“.Create(SelectBigBox)”
    所以SelectBigBox.ComponentCount一直是0