Project->Options->Forms页里 所有窗体动态创建 如: if Form1=nil then begin Form1:=Form1.Create(self); Form1.Show; end else begin Form1.SetFocus; Form1.WindowState:=wsNormal; end; 自己释放自己 procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Form1.Release; Form1:=nil; end;
try
Form1.ShowModal;
finally
Form1.Free;
end;Show的话,就不要在此处Free了。
在需要使用某窗体时再创建。
form1 := Tform1.create(self);
所有窗体动态创建
如:
if Form1=nil then
begin
Form1:=Form1.Create(self);
Form1.Show;
end else
begin
Form1.SetFocus;
Form1.WindowState:=wsNormal;
end;
自己释放自己
procedure TForm1.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Form1.Release;
Form1:=nil;
end;
form2:=Tform2.Create(application);
form2.ShowModal;
form2.free;
在工程中自己创建:
Form1:=Form1.Create(self);
窗口释放:
procedure TForm1.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Form1.Release;
end;
with topen_cbb.Create(application) do //topen_cbb为其它窗体的名字
try //弹出窗体
Showmodal;
except
close_message('打开测评表创建窗口错误');
free;
end;
end;
application.Createform(Tmodnews,modnews);
try
modnews.showmodal;
finally
modnews.free;
modnews:=nil;
end;