我有三个窗口,Form1 : TForm1,Form2 : TForm2,Form3 : TForm3
Application.CreateForm(TForm1, Form1);
Form2 := TForm2.Create(Form1);
Form3 := TForm3.Create(Form2);
关系如上(示意)他们在OnClose都是
Action := caFree;奇怪的是当关闭Form3,马上再关闭Form2就有内存报错,每次报错地址都是一样.
但关闭Form3,等一会再关闭Form2就没有报错.希望大家能帮忙解除疑惑.

解决方案 »

  1.   

    跟关闭时间先后有关的话,那就得看你的form里到底是什么内容了,内存报错其实还是程序有误,可疑处设置断点一点点跟吧,没有好办法
      

  2.   

    Search-Find Error 输入出错的地址
      

  3.   

    看不懂汇编,但也受教了,谢谢
    调试的时候没有异常.运行可执行文件时,关闭Form3,马上再关闭Form2才有.并且用try Form2.Close 异常照样抛出,捕获不了.
    是不是delphi本身有问题?据说delphi 7要补丁.
      

  4.   

    应该和时间长短没关系的啊...不过你creat时,能不能 create(Application) 或Create(nil)??
      

  5.   


    问题解决,谢谢我这样设计是因为窗口太多,Form1.Close后,后面的窗口也会自动释放,方便,呵呵