我用delphi中的timer控件,“退出”的代码如下:
   self.close;
   self.Timer1.Enabled:=false;
   application.Terminate;但是每次关闭后,界面没有了,但是“任务管理器”中始终还有该程序占用内存,
怎么办呀?请高手帮忙!

解决方案 »

  1.   

    这样试试:
       self.Timer1.Enabled:=false;
       self.close;
       application.Terminate;
      

  2.   

    退出程序尽量不要使用application.Terminate,会引起应用程序占用的内存不能够正常返回操作系统。
      

  3.   

    self.timer1.enable:=false;
    self.close;
      

  4.   

    self如果是程序主窗体,调用它的close,程序会自动清除内存,
    不用再调用application.terminate;
      

  5.   

    还是关闭不了,工程中就一个窗体,formstyle是“fsStayOnTop”
      

  6.   

    是不是你窗体的close事件里面没有写内存释放语句?
    action:=cafree;
      

  7.   

    刚试过,如果是你说的情况是可以关闭的,如果不能正常关闭,可能是你还有一些调用系统的东西没有关闭,你是不是用了一些初始化啊、API什么的,没有Free啊?
      

  8.   

    是引用了shellapi,
    怎么释放啊? 我在formdestroy中这样写的,不行啊
    procedure TfrmWzmxFileIn.FormDestroy(Sender: TObject);
    begin
       Shell_NotifyIcon(NIM_DELETE,@NID);
    end;我用了一个第三方控件:AMCLOCK.
      

  9.   

    你說的都不是引起問題的關鍵啊!!! 程序沒退出, 可能是有那個線程沒終止吧, 你在退出前,先 AMCLOCK.close. or AMCLOCK.free 之類的, 停止 AMCLOCK 先!!