Private
window: array of TForm;procedure TForm1.Button1Click(Sender: TObject);//创建Form
var i: integer;
begin
setLength(window,4);
for i:=0 to 3 do
begin
window[i]:= TForm.Create(nil);
window[i].Parent:= Form1;//主Form
window[i].Tag:= i;
window[i].Name:= 'W_'+IntToStr(i);
window[i].Show;
end;
end;procedure TForm1.Button2Click(Sender: TObject);//销毁
var i: integer;
begin
for i:=0 to 3 do
if FindComponent('W_'+IntToStr(i))<> nil then window[i].Destroy;
end;FindComponent 找不到,请问应该如何处理
window: array of TForm;procedure TForm1.Button1Click(Sender: TObject);//创建Form
var i: integer;
begin
setLength(window,4);
for i:=0 to 3 do
begin
window[i]:= TForm.Create(nil);
window[i].Parent:= Form1;//主Form
window[i].Tag:= i;
window[i].Name:= 'W_'+IntToStr(i);
window[i].Show;
end;
end;procedure TForm1.Button2Click(Sender: TObject);//销毁
var i: integer;
begin
for i:=0 to 3 do
if FindComponent('W_'+IntToStr(i))<> nil then window[i].Destroy;
end;FindComponent 找不到,请问应该如何处理
我在创建时有设Name属性,Name不是唯一的吗?那为什么每点一次Button1就会创建4个Form呢?
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
setLength(window,4);
for i:=0 to 3 do
begin
window[i]:= TForm.Create(Owner);///////////////////////////////改一下。
window[i].Parent:= Form1;//Ö÷Form
window[i].Tag:= i;
window[i].Name:= 'W_'+IntToStr(i);
window[i].Show;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
for i:=0 to 3 do
if Owner.FindComponent('W_'+IntToStr(i))<>nil then////////////////////改一下
window[i].Destroy;
end;
begin
for i:=0 to screen.FormCount-1 do
showmessage(screen.Forms[i].Caption);
end;