有如下代码:
procdure Tform1.Formclose(sender:TObject;var Action:TcloseAction);
begin
 .          {这里是代码部分}
 .
end;procdure Tform1.Button1click(sender:TObject);
begin  
    Formclose(sender);       //想调用上面这段代码,但有错误,应该怎么改?在线等,谢谢。。
end;

解决方案 »

  1.   

    1. Self.Colse;
    2. var Action:TCloseAction;
       FormClose(Self,Action); //但这句并不能关闭窗体,只是调用了一个普通的方法而已
      

  2.   

    procdure Tform1.Button1click(sender:TObject);
    begin
      Close;
    end;
      

  3.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      //Action:=caFree;
      Application.Terminate
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      a:TCloseAction;
    begin
      a:=caHide;
      FormClose(Sender,a);
    end;
      

  4.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Application.Terminate
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      a:TCloseAction;
    begin
      a:=cafree;
      FormClose(Sender,a);
    end;
      

  5.   

    你调用时少传了个参数 var Action:TcloseAction 。
    Formclose(sender:TObject;var Action:TcloseAction);