我在做数据库系统中(窗体为MDI,数据库控件是ADO类)出现了一个错误,而且无法跟踪“Project Quote.exe Raised exception Class EAccessViolation with message 
 'Access Violation at address 0105A94F write of address 06B2FA77'Process stopped.
use step or Run to continue大家帮忙看一看能不能解决。

解决方案 »

  1.   

    就是连续打开几个MDI子窗体然后关闭某一个就出现这个错误,各个MDI子窗体中(比如,添加、删除、保存等)操作正常均没有问题。
    问题出于关闭MDI子窗体时出现错误。
      

  2.   

    打开几个MDI子窗体(它们都在主窗体中)然后关闭其中某一个,这个错误有时发生有时不发生
    即如果某一个MDI子窗体关闭了一次,下次再打开而且和其他MDI子窗体共存于主窗体中,那么如果再关闭该窗体可能会发生错误,如单个打开该窗体(主窗体中没有其他MDI子窗体)关闭多少次都没有错误
      

  3.   

    打开时用
    if not assgined(ChildFrm) then
      //createchild() 建立子窗体关闭时
      FreeAndNil(ChildFrm);
      

  4.   

    这样关闭子窗体!
    close事件里写:
                  action:=cafree;