我想在一窗体的create事件中 完成一个条件,当这个条件为真的时候
这个窗体以后不再显示,而是显示下一个窗体.我是设了一个数据库id表,有一个fg标志
当fg=1时该窗体以后不再显示,直接转入下一个窗体,我该怎么实现??我试了试用form1.hide; form2.show;程序该怎么解决??急!

解决方案 »

  1.   

    不因改写在Create事件中!!!你可能需要类似输入密码的窗口!!!在工程文件中写代码!!!
    例子如下:
    begin
         Application.Initialize;
         Application.CreateForm(TDm, Dm);
         If Dm.OpenDatabase Then
         Begin
              FormLogin := TFormLogin.Create( Nil );
              Try
                 FormLogin.ShowModal;
                 CreateMainForm := ( FormLogin.ModalResult = mrOK );
                 Dm.User := FormLogin.EditName.Text;
              Finally
                     FormLogin.Free;
              End;
              If CreateMainForm Then Application.CreateForm( TFormMain, FormMain )
              Else Application.MessageBox( '用户名或密码错误,登录失败!', '错误', MB_OK + MB_ICONSTOP );
         End
         Else Application.MessageBox( '连接数据库失败!', '错误', MB_OK + MB_ICONSTOP );
         Application.Run;
      

  2.   

    1 你的语句可以实现你的功能要求阿
    2 最好不要在窗体里判断,在project中
    if ... then form1.showmodal; else form2.showmodal;
      

  3.   

    1 你的语句可以实现你的功能要求阿
    2 最好不要在窗体里判断,在project中
    if ... then form1.showmodal; else form2.showmodal;
      

  4.   

    照你的说法,你应该在OnActive里写代码,而不是在OnCreate中,应该可以解决的,不行的话,在发消息,我在线的