Delphi中如何编写关闭功能,为什么点击关闭,总出错?其它功能正常,就是关的时候出现错误,请问是什么原因?每次写的都是Close就可以。

解决方案 »

  1.   


    每次寫的CLOSE就可以,那不可以的時候你寫的是什麼??
      

  2.   

    我就写的Close.运行程序时,如果什么也不选,直接退出,就可以正常关闭。如果进每个功能看一下,什么都不做,直接点每个界面的退出画面,再点主窗体的退出,就会出错。提示EAccessViolation,然后指出在74DB0CC2那一行。
      

  3.   

    procedure TfmMainForm.BitBtn1Click(Sender: TObject);
    begin
      Close;
    end;
    点击了主窗体的关闭按钮后,主窗体会关闭,然后跳出一个错误对话框,有个调试按钮和关闭按钮,需要按N回关闭才能把那个错误对话框关了。不知道是怎么回事
      

  4.   

    代码没问题啊?其他窗体里写的都是"窗体名.Close"呀?
      

  5.   

    我只是在主窗体放了一个按钮,按钮的Click事件就是Close.关闭不是都这样写吗?什么是没有创建就释放了或重复释放?我练习的都是进别的功能里只点Close,是不是这叫重复释放啊?
      

  6.   

    你在主窗體的 onclose  裏面寫了什麼??
      

  7.   

    主窗体的OnClose事件:
    procedure TfmMainForm.FormCloseQuery(Sender: TObject;
      var CanClose: Boolean);
    begin
      if messagedlg('真的要退出系统吗?',mtconfirmation,[mbYes,mbNo],0)=mrNo then
        canclose:=false;
    end;主窗体的“关闭”按钮的Click事件:
    procedure TfmMainForm.SpeedButton1Click(Sender: TObject);
    begin
      Close;
    end;
    错误对话框:Project Project1.exe raised exception Class EAccessViolation with message 'Access Violation at address 74DB0CC2.Read of Address 4DB0CC2.Process stopped.Use Step Or Run to Countinue.
      

  8.   

    类似这样调用窗体:
    procedure TfmMainForm.miAbourClick(Sender: TObject); 
    begin 
    fmMainForm.Hide; 
    fmAbout.Show; 
    end; 
      

  9.   


    1.   如果是這樣的來做的,你的所有窗體都是自動新增的吧?不是動態創建的吧?2.  這些自動創建的窗體上你增加了什麼第三方的控件沒有??3.  還有主窗體的 onCloseQuery  你寫了詢問代碼。   onclose  有沒有寫??