컴포넌트를 동적으로 생성시키구 아래와 같이 코딩을 했습니다.
그런데 Free시킬때 짝수번째 라벨만 삭제가 됩니다...
ex> 1 삭제후 1
2
3 3
4
5 5
6
7 7
8
9 9
10
왜 이런가요?
아래는 소스입니다...
procedure TForm1.Button1Click(Sender: TObject);
var
cnt : integer;
begin
for cnt := 1 to 10 do
begin
lbl := tlabel.create(self);
with lbl do
begin
parent := panel1;
left := 50;
top := cnt * 20 ;
width := 50;
height := 14;
name := 'label'+inttostr(cnt);
caption := inttostr(cnt);
visible := true;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
cnt : integer;
begin
for cnt := 0 to panel1.controlCount-1 do panel1.controls[cnt].Free;
end;