我想在OnClose中写一段代码
  If Application.messagebox('是否退出系统?','系统提示',IdOk) = IdOk Then Close Else .....................Else后面的代码怎么写?也就是如果选了不退出呢?

解决方案 »

  1.   

    If Application.messagebox('是否退出系统?','系统提示',IdOk) = IdOk Then Close Else 
    Application.run;
      

  2.   

    不用else了,如果你做任何处理的话,他会返回系统!
      

  3.   

    像這種代碼一般是寫在Form的CloseQuery事件中
    如:
    procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    begin
      If Application.messagebox('是否退出系统?','系统提示',IdOk) = IdOk Then
        CanClose := True
      Else
        CanClose := False ;
    end;
      

  4.   

    错了,你应该将这段代码写在ONCloseQuery,
    If Application.messagebox('是否退出系统?','系统提示',IdOk) = IdOk then
      canClose := True
    else
      canclose := False;
      

  5.   

    在onclose事件里面
    If Application.messagebox('是否退出系统?','系统提示',IdOk) = IdOk Then Close 
    进入死循环了;If Application.messagebox('是否退出系统?','系统提示',IdOk) <> IdOk Then  
    Application.run;
      

  6.   

    你的程序有问题,你是想关闭应用程序还是关闭窗体,如果是关闭应用程序应该这样写:
    If Application.messagebox('是否退出系统?','系统提示',1) = 1 Then 
    application.terminate
     Else 
    Application.run;
      

  7.   

    Agree with  songlian77(八國聯軍)
      

  8.   

    非常感谢Songlian77,但讨厌(八国联军),感谢xzg111,但那种方法好像退不出去?谢谢大家关注:)
      

  9.   

    厭惡galxh 更討厭“代码英雄” 嘿嘿:)