我做了个向导窗体,在主窗体ShowModal后,可以正常显示,并使用其中的PAGEControl显示下一页&上一页,最后向导完成操作后用self.Close关闭向导,但再次使用时ShowModal,得到的数据为什么总是上一次的数据,如PAGEControl停止在最后一页,相关连的数组啊,变量啊都是上一次的数据。就算是在 form.create 中初始化变量数组。但总存在一些问题。请问,问题出在那呢?

解决方案 »

  1.   

    在OnShow里做一些初始化,试试
      

  2.   

    因为你第二次ShowModal是你上次Close的结果
    方法:1、将你在form.create 中初始化变量数组改到OnShow中
          2、在你的OnClose中加入Action:=caFree;在你第二次使用时,记得先Create
      

  3.   

    to: Wgyking可以给些代码吗?
    销毁窗体时也用close?还是d什么?
    两者有什么不同呢?to wolf2005:
    Onshow里初始化和在Create里初始化,有什么不同呢?
      

  4.   

    var 
      FormValue : TFormName;
    begin
      Try
        FormValue := TFormName.Create(Nil);
        FormValue.PageControl1.ActiveIndex := 0;
        FormValue.ShowModal;
      Finally
        FreeAndNil(FormValue);
      end;
    end;Ctrl + Shift  + F11 把FormVlaue移到右边