Delphi窗体调用步骤

Delphi窗体调用方法Procedure FormCreateAndShow(frm:TForm)beginif not AsSigned(frm) Thenbeginfrm:TF

Delphi窗体调用方法


Procedure FormCreateAndShow(frm:TForm);
begin
   if not AsSigned(frm) Then
  begin
   frm:=TForm.Create(application);
  end
 else
  frm.Show;
 end;

调用
 FormCreateAndShow(Form1);
但是。调用不了。也不报错。不知道什么情况
[解决办法]
改为frm:=TForm.Create(nil);试下


Procedure FormCreateAndShow(frm:TForm);
begin
   if not AsSigned(frm) Then
  begin
   frm:=TForm.Create(nil);
  end
 else
  frm.Show;
 end;

[解决办法]
多次调用注意要Free;
最好是每次调用的时候先Free:


Procedure FormCreateAndShow(frm:TForm);
begin
  if AsSigned(frm) Then
    FreeAndNil(frm);
  frm:=TForm.Create(nil);
  frm.Show;
end;