我的主窗体是mdiform ,其中一子窗体是fsStayOnTop,调用子窗体时用show,但关闭后再打开时就出错!请教各位!

解决方案 »

  1.   

    我试过,没有问题啊。
    假设说stay on top的窗口是form2, LZ是不是这么干了?
    在stay on top的form2的Close中,写上了Action := caFree;
    然后在显示form2的地方写上了form2.show;
    最后在project option里把form2设置成自动创建了。这样的话,第一次显示的是内存中建立好的form2,当关闭form2的时候,系统自动destroy form2了(Action := caFree),然后在没有建立form2的情况下再显示form2将导致出错
      

  2.   

    你需要重新创建那个窗体。
    Form2 := TForm2.Create(Application);
      

  3.   

    我的程序是这样的,main为主窗体,form1是子窗体,main为fsMDIForm,form1为fsStayOnTop,form1设为不自动创建,打开时为if form1=nil then application.CreateForm(Tform1,form1);
    gszl.Show;关闭时不设action:=cafree;这样运行不会出错,但是,若form1中有刚添加的记录时,窗体不是重建,而是关闭时的状态.及不是重建,我想重建
      

  4.   

    像你这样的话,form1就不应当设置为自动创建。