登陆窗口的退出事件:
procedure TFrmlogin.btnCancelClick(Sender: TObject);
begin
  Application.Terminate ;
  //Frmlogin.Close;
end;在主窗口里提示是否要真的退出:
procedure TFormMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
   Application.MessageBox(‘确定要退出办公助手吗?',‘信息', MB_YESNO   +MB_ICONQUESTION);  
    if CanClose=true then 
      frmlogin.Close
       else
        if CanClose=false then 
       Application.CreateForm(Tfrmlogin, frmlogin);
end;
以上的程序屡试不过,不知道问题出现在哪里,请帮忙看看,谢谢!

解决方案 »

  1.   

    你怎么根据CanClose来判断了呢?你应该根据MessageBox的返回值来判断
      

  2.   

    给你举个例子吧,只是简单的控制关闭不关闭Form1,其余的你自己改
    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      if Application.MessageBox('确定要退出办公助手吗?','信息', MB_YESNO+MB_ICONQUESTION) = ID_Yes then
        CanClose := true
      else
        CanClose := false;
    end;