DELPHI 动态 创建和释放 多个 EDIT 控件

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    pnl1: TPanel;
    btn1: TButton;
    btn2: TButton;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  editm:array of tedit;

implementation

{$R *.dfm}

//动态创建EDIT控件
procedure TForm1.btn1Click(Sender: TObject);
var 
    i,d,j:integer;
begin
d:=0; 
j:=3;
setlength(editm,j);
  for   i:=0   to   j-1   do
  begin
    editm[i]:=tedit.Create(self);
    editm[i].Parent:=pnl1;
    editm[i].Width:=120; 
    editm[i].Height:=20; 
    editm[i].Left:=0; 
    editm[i].Top:=0+d; 
    editm[i].Name:= 'edit'+inttostr(i);
    editm[i].Text:= 'edit'+inttostr(i);
    editm[i].Visible:=true; 
    d:=d+20; 
  end;
end;
//销毁创建的EDIT控件
procedure TForm1.btn2Click(Sender: TObject);
var
  i:Integer;
begin
for i:=0 to 2 do
begin
editm[i].free; 
end;
end;

end.

DEMO下载:点击下载