主程序是一个窗体,中间动态创建了一些对象,在TForm.OnClose中对这些资源进行释放
现在需要在一个函数中执行程序退出,调用Application.teminate好像没执行到OnClose,这样的话那些动态资源应该都还没释放吧

解决方案 »

  1.   

    怕你不明白,假如你在名称为a的窗口上写的onclose,那么你直接调用
    a.close即可调用你写的onclose函数,也就释放了你的资源
      

  2.   

    调用Application.teminate
    并不会执行窗体的onclose事件
    把你的窗体的onclose 代码写在ondestroy里即可
      

  3.   

    看你是怎么create的了。
    Create后面带了(owner)的,就不用在手动释放了。
    如果没有,就要自己手动释放。
    在窗体的ondestroy里面释放就可以。
    建议临时对象随时创建随时释放,用
    try
      //创建
    finally
      //释放
    end;
      

  4.   

    SendMessage(YourWindowHandle, WM_CLOSE, 0, 0);
      

  5.   

    在onClose事件里加 action:= cafree; 试试