1、在Formclose事件里写 Action := caFree
2、Form1.Free;
3、Form1.Destroy;

解决方案 »

  1.   

    application.Terminate
    可以强行关闭程序并释放资源
      

  2.   

    form1.free;
    form1:=nil;freeandnil(form1);sendmessage(form1.handle,wm_close,0,0);
      

  3.   

    Terminate 是最暴力的办法,我同意用Terminate,如果 Terminate
    关不掉,我想其他的也是白搭
      

  4.   

    application.Terminatehalt 比application.Terminate 厉害
    to xzq 真正厉害的reset power 只需轻轻一按
      

  5.   

    你可以使用 Halt 命令终止正在运行的程序,该命令能在任何地方使用,甚至可以在工程项目文件(.dpr)中使用,而且是完全、立即终止,比 application.terminate 命令还要直接。快试试!
      

  6.   

      HWND HWnd;
      HWnd = FindWindow(NULL, cTitle);
      if (HWnd) SendMessage(HWnd, WM_CLOSE, 0, 0);
      

  7.   

    但是,HALT不好,
    他不释放资源,我认为
    还是不用的好,
      

  8.   

    form1.close关闭不了窗口。
    大概是你的事件中没有触发这个事件:解决方法,加上事件即可。
      

  9.   

    在form的close事件中
      CanClose:=true;
      

  10.   

    Form1.ModalResult := 100;(只要是非0值,则窗体将关闭)
      

  11.   

    最好还是说明白,Form是MDIChilder 还是Normal
      

  12.   

    我测试1下,成功了就散分
    其实问题是:我的软件不能随win关机而关闭
    只要我的程序运行,用户就不能软关机
    我在关闭win消息里写form1.close,
    有时候能关闭,有时候不能
      

  13.   

    To byrybye:
        你如何知道Halt命令不释放资源?
      

  14.   

    Application.Terminate; 应该行吧。
    form1.close,这form1还得主窗口才行吧。
    Halt行,不过是否释放资源没试过。既然贴主要在win关机时关闭那不释放资源也无所谓了