高手帮忙:为什么我用application.CreateForm(TaddF,addF);来创建窗体,还没有使用使用addF.ShowModal,窗体就自动显示出来了呢?我现在只好用这个办法实现了ShowModal:
  application.CreateForm(TaddF,addF);
  addF.Hide;
  addF.ShowModal;问题可能出现在哪呢?需要修改哪方面呢?
那位高手可以帮帮我.....

解决方案 »

  1.   

    addF:=TaddF.create(self)
    addF.ShowModal;//注意此时窗体不能是fsMDIchild
      

  2.   

    addf是不是你程序的主窗体??
      

  3.   

    你这段代码是在哪里写的,addf是不是你程序的主窗体??
      

  4.   

    addf是自动创建还是手动创建??
      

  5.   

    谢谢两位朋友的帮忙,addf不是我程序的主窗体.
    addF原来是我程序主窗体(mainF)的一个子窗体,但我现在要取消使用子窗体,我已经把addF的
    formstyle的属性由fsmdichild 改成了 fsNormal 
    还是提示错误:
    cannnot  a visiable widnow modal奇怪了...
      

  6.   

    程序写在mainF(程序的主界面里面):
    现在暂时是这样实现的:
    procedure TForm1.N37Click(Sender: TObject);
    begin
      application.CreateForm(TaddF,addF);
      addF.Hide;
      addF.ShowModal;
    end;
      

  7.   

    你肯定是 fsMDIchild
    改一下,再下面的  addF.Visible:=false;
      addF.ShowModal;
      

  8.   

    addF已经改成fsNormal了...
      addF.Visible:=false;
      addF.ShowModal;
    虽然可以,但是效果和使用.hide一样,都会闪一下才显示出界面...郁闷啊~~
      

  9.   

    设计时visable设为FALSE,其实窗体初始VISABLE就是FALSE