我创建了N个组件,请问怎么传说动态创建的组件呢,我动态创建代码如下//创建动态组件
procedure GetXYRPos(Ppos:string;x,y:Integer;r:Boolean);
var
abool : Boolean;
begin
Setlength(aPanel,Getzuihouyihang(Main.StringGrid1));
aPanel[ii] := TPanel.Create(nil);
aPanel[ii].Name := 'a'+Ppos;
if r then begin
aPanel[ii].Width := 20;
aPanel[ii].Height := 10;
aPanel[ii].Left := x-10;
aPanel[ii].Top := y-4;
end else begin
aPanel[ii].Width := 10;
aPanel[ii].Height := 20;
aPanel[ii].Left := x-4;
aPanel[ii].Top := y-10;
end;
aPanel[ii].Caption := ' ';
aPanel[ii].Color := clLime;
aPanel[ii].Hint := Ppos;
aPanel[ii].ShowHint := True;
aPanel[ii].AutoSize := False;
aPanel[ii].Ctl3D := True;
//aPanel.OnMouseMove := moveposcursor;
aPanel[ii].Parent := Main.Image1.Parent;
PosAstr := Ppos;
aPanel[ii].OnDblClick := Main.xxoo;
aPanel[ii].Show;
end;
请问删除怎么删除。
procedure GetXYRPos(Ppos:string;x,y:Integer;r:Boolean);
var
abool : Boolean;
begin
Setlength(aPanel,Getzuihouyihang(Main.StringGrid1));
aPanel[ii] := TPanel.Create(nil);
aPanel[ii].Name := 'a'+Ppos;
if r then begin
aPanel[ii].Width := 20;
aPanel[ii].Height := 10;
aPanel[ii].Left := x-10;
aPanel[ii].Top := y-4;
end else begin
aPanel[ii].Width := 10;
aPanel[ii].Height := 20;
aPanel[ii].Left := x-4;
aPanel[ii].Top := y-10;
end;
aPanel[ii].Caption := ' ';
aPanel[ii].Color := clLime;
aPanel[ii].Hint := Ppos;
aPanel[ii].ShowHint := True;
aPanel[ii].AutoSize := False;
aPanel[ii].Ctl3D := True;
//aPanel.OnMouseMove := moveposcursor;
aPanel[ii].Parent := Main.Image1.Parent;
PosAstr := Ppos;
aPanel[ii].OnDblClick := Main.xxoo;
aPanel[ii].Show;
end;
请问删除怎么删除。
for i := 0 to High(aPanel) do apanel[i].Free;
if aPanel[i]<>nil then
aPanel[i].free;
for i := High(aPanel) downto 0 do
apanel[i].Free;//倒着删除