我有个程序,大约有10个窗体,基本上是按照一定的流程跳转,最后返回(中间有个判断选择流程),这样的程序都是用前一个unit中uses后一个unit,然后用showmodal来跳转吗?我这样设计的,第一轮没事,第二轮就出现了读内存的问题。
请问怎样设计多窗体跳转的程序?

解决方案 »

  1.   

    showmodal弹出窗体位于最上曾。
    用showmodal弹出下一个窗体前需要把这个窗体关掉。
    对你的程序来说,改用show行不行呢?
      

  2.   

    是类似于wizard的程序吧?
    你跳转的时候,对于前一个窗体是彻底Free掉了呢,还是Hide了呢?
    这就是问题所在
      

  3.   

    每次跳转时,动态创建下一个窗体,然后show(),
    接着把前一个窗体释放掉,在窗体的onclose()中加入:action:=cafree;
    而不要使用showmodal()的方法,
    这样由于窗体显示时在内存中创建,关闭时从内存中清除,这样就不会引起内存读写错误了。
      

  4.   

    动态创建:  from1:=tform1.create(application);
                from1.show();
    注意要把动态创建的窗体,从project-->options中自动创建列表中移到手动创建中去。