1)在一个编辑框,输入内容后,弹出form2,内有数条记录供参考。
2)当选择后关闭form2.
3)后又觉得刚选择的不对,于是在该编辑框中,欲再弹出form2。
代码如下:
if not Assigned(form2) then
begin
  form2:=Tform2.create(self);
  form2.showmodal;
end else
  ????  //这里该怎么写好呢// form2 的关闭代码如下:
Close;此事困扰我两天了,麻烦大家帮我出出主意。谢谢!

解决方案 »

  1.   


    if not Assigned(form2) then
      form2:=Tform2.create(self);
    form2.showmodal;
    这样就可以了,老大!
      

  2.   

    楼上的就OK了
    只要不是free,窗口原来数据还是保持着关闭前的(用到数据源,数据源也没变的情况下)
      

  3.   

    检测那个EDIT的事件,如果有输入就弹出另一个窗体
      

  4.   

    谢谢大家。我解决了。
    1)form2,Close 事件:
    Action:=caFree;
    form2:=nil;2)form1中EDIT ONKEYDOWN事件如下:
    ...
    if not assigned(form2) then
    begin
      form2:=Tform2.create(self);
      form2.showmodal;
    end;
      

  5.   

    因为 form2 ,close后,不管assigned(form2) 的值如何,都是不可用的。我要做的,只是令form2的关闭更彻底一些。
      

  6.   

    本质的东西应该是 只要.show()就可以了, 非模态窗口