本帖最后由 semao10 于 2009-06-13 14:47:16 编辑

解决方案 »

  1.   

    把代码贴出来看看!先显示FORM2再把FORM1.showmodal;
      

  2.   

    form2.onshow那里建form1,然后form1.showmodal
      

  3.   

    form2.onshow和form2.create有什么区别?网上一些解决方法好像集中在这两个上。如何在form2.onshow上建form1,然后在哪里form1.showmodal?
      

  4.   

    上面说错了,是form2.onshow和form2.active有什么区别,网上的一些解决办法集中在这两个上
      

  5.   

    procedure TForm2.FormShow(Sender: TObject);
    begin
      Form1:= TForm1.Create(self);
      Form1.ShowModal;
      Form1.Free;
      ...   
    end
      

  6.   

    主窗体form1
    procedure TForm1.FormShow(Sender: TObject);
    begin
      Form2:= TForm2.Create(self);
      Form2.ShowModal;
      Form2.Free;
    end;
    登陆窗体登陆按钮
    procedure TForm2.Button1Click(Sender: TObject);
    begin
      if  通过 then 
      begin
       form2.Close;
       form1.Show;
      end
      else
        showmessage('验证没有通过');
        form2.SetFocus;   
    end;
      

  7.   


    我这样拿进去编译了,报错说cannot make a visble window modal
      

  8.   

    [code=Delphi(Pascal)]procedure TForm2.FormActivate(Sender: TObject);
    begin
    with tForm1.Create(self) do
     begin
      ShowModal;
      free;
     end;
    end;
    code]
      

  9.   

    procedure TForm1.FormActivate(Sender: TObject);
    begin
    with tForm2.Create(self) do
     begin
      ShowModal;
      free;
     end;;
    end;
      

  10.   

    procedure TForm2.FormShow(Sender: TObject);
    begin
        Form1:=TForm1.Create(self);
      try
       if Form1.showmodal <> mrok then
          close; 
       finally
         Form1.free;
      end;
    end;我的代码是这样的
    现在可以先跳出form1登陆框了,但是我用户名密码验证完后跳不出form2,这是怎么回事情?
      

  11.   

    目标:想让主窗口先启动,再启动登陆窗口,停留在主窗口上面,使得此时主窗口看得见但是不能点击。 
        然后登陆以后,主窗口的菜单栏里面点出来的都是子窗口。(主窗口和登录窗口均连接数据库) 
    你在form1.onActivate 这个事件下面写:
    procedure TForm1.FormActivate(Sender: TObject);
    begin
      if not Assigned(Form2) then
      Form2 :=TForm2.Create(Self);
     form2.ShowModal;
     FreeAndNil(Form2);
    end;
    是应该可以实现了的。现在遇到问题:之前网上也搜过类似的问题,现在已经将主窗口的formstyle设为了fsMDIform,登陆窗口的formstyle设为了fsNormal,project那里也将自动生成的form改为只有主窗口了。原来还能出现登陆窗口,然后登陆后不能点击菜单栏去调用子窗口;现在不知在哪里改动过,连登陆窗口都不显示了。 
    说明你的错误不是这里的show的问题,应该是别处有错了。