关闭stayontop的窗体后,再打开,提示出错!
我的主窗体是mdiform ,其中一子窗体是fsStayOnTop,调用子窗体时用show,但关闭后再打开时就出错!
请教各位!
问题点数:20、回复次数:6Top
1 楼yyfhz(火山)回复于 2006-03-01 14:31:26 得分 0
我试过,没有问题啊。
假设说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将导致出错
Top
2 楼xiongqinghong(xqh)回复于 2006-03-02 09:07:38 得分 0
对呀,就是第二次打开时会出错!Top
3 楼yyfhz(火山)回复于 2006-03-02 10:26:38 得分 0
检查一下你的程序,看看是不是我所猜测的原因。Top
4 楼TommyTong(童童--寻求兼职……)回复于 2006-03-02 10:43:21 得分 0
你需要重新创建那个窗体。
Form2 := TForm2.Create(Application);Top
5 楼xiongqinghong(xqh)回复于 2006-03-06 12:48:57 得分 0
我的程序是这样的,main为主窗体,form1是子窗体,main为fsMDIForm,form1为fsStayOnTop,form1设为不自动创建,打开时为if form1=nil then application.CreateForm(Tform1,form1);
gszl.Show;关闭时不设action:=cafree;这样运行不会出错,但是,若form1中有刚添加的记录时,窗体不是重建,而是关闭时的状态.及不是重建,我想重建Top
6 楼TommyTong(童童--寻求兼职……)回复于 2006-03-10 12:45:18 得分 0
像你这样的话,form1就不应当设置为自动创建。Top




