默认的窗口上,加入一下代码procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.close;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
end;窗口是没了,但是,在资源管理器里,它还存在,RUN里需要按PROGRAM RESET 才可以真正关闭掉!到底为啥啊?!

解决方案 »

  1.   

    PS,如果用Application.Terminate 自然可以关闭的。可是我的主窗体,关闭只能用这个方法么?我是菜鸟,大家帮忙看看,指点下吧!我研究了一上午,憋屈了…………更加郁闷!!!
      

  2.   

    还没生成完吧你就关闭了 
    Form1.close;还是在别的地方用吧另外提醒如果不是主窗体procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 
    begin 
    action := cafree;
    Form1 := nil; 
    end;
      

  3.   

    呵呵,我只是费解……我知道 RUN还没完事呢!
    看来只能用其他办法了 比如Application.Terminate 
      

  4.   


    既然你知道RUN还没完事, 那么"Application还出现在资源管理器里"这有何好奇怪的呢?
      

  5.   

    create 事件中的close是不被响应的
      

  6.   

    这样:procedure TForm1.FormCreate(Sender: TObject); 
    begin 
     halt;
    end; 
      

  7.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); 
    begin 
      Release;
    end; 
      

  8.   

    [code=Delphi(Pascal)]
    創建時就調用CLOSE,那么就先關閉窗口,但是你又在CLOSE里寫了ACTIVE = CAFREE,那么窗體的后繼操作都不會執行,即FORM.DESTROY不會執行,所以沒釋放資源。沒有停止程序運行
    [/code