TFORM.close好像和点form的x号不是一回事?另外:FormClose事件里,代码Action := caFree;是啥含义?

解决方案 »

  1.   

    application.Terminate;
    是關閉整個程序FORM1.close;是關閉form1, 如果form1是主窗全, 就會關閉整個程序, 如果不是, 就不會!>>代码Action := caFree;是啥含义?
    默認時, Form.close; 還會將窗體緩存在內存, 下次調用快一點!
    如果用
    Action := caFree;
    就等于調用了 Form.free
    或者 FreeAndNil(Form);
      

  2.   

    父窗口的按钮事件:
    var aChild:TFEditRec;
    begin
      aChild := TFEditClass.Create(Application);
      aChild.Caption := '新增记录';
      aChild.B_Append.Click;
      aChild.ShowModal;
      aChild.Free;
    end;子窗口如果点那个X,则可以正常关闭,如果用按钮写语句:form1.close则关闭时候出错。
    FormClose事件里我写了Action:=caFree;去掉也一样出错。请问大家是如何解决这个问题的?
      

  3.   

    application.Terminate;
    是關閉整個程序
      

  4.   

    老大,application.Terminate把正个程序都退出了,而不是仅仅关闭了一个窗口:(
      

  5.   

    父窗口的按钮事件:
    var aChild:TFEditRec;
    begin
      aChild := TFEditClass.Create(Application);
      aChild.Caption := '新增记录';
      aChild.B_Append.Click;
      aChild.ShowModal;
      aChild.Free;
    end;子窗口如果点那个X,则可以正常关闭,如果用按钮写语句:form1.close则关闭时候出错。
    FormClose事件里我写了Action:=caFree;去掉也一样出错。请问大家是如何解决这个问题的?出什么错啊?
      

  6.   

    Action:=caFree;是窗体关闭呀,还有caNone,caHide呵呵看看delphi的help吧,如果想在关闭的时候做什么事情的话最好在CloseQuery中做些事情