新增一窗体,程序启动后,同时弹出登录窗口跟新增的窗体,怎么办呀?

解决方案 »

  1.   

      form1为主窗体,form2为副窗体
      在form1的onshow事件中写
      form2.showmodal; 
      这样就会先出现form2,关闭form2之后,主窗口form1就出来了。
      

  2.   

      此处,form2为你的登录窗口。
      

  3.   


    login,mainform,form3(基础物料窗体),现已设mainform上基础物料N3click内 form3.showmodal;
    上面这些已经做好了。project-option里面的mainform也设为了login .程序运行时,自动弹出login跟form3,不知道哪出问题了。
      

  4.   

    login进后BUTTONCLICK为login.hide;  mainform.show;
      

  5.   


    mainmenu里面的一个按钮呀。
      

  6.   

    建议你在project-option里面的mainform 设置成mainform 
    在mainform 的FormCreate 中写var
      llogin: Tlogin;
    begin
     llogin := Tlogin.Create(Self);
      try
        llogin.ShowModal;
      finally
       llogin.Free;
     end;在login进后BUTTONCLICK写 ModalResult := True;
    程序运行时,自动弹出login跟form3 可能是因为除了在N3click内 写了form3.showmodal
    别的地方也写了
      

  7.   

     login.hide不要,
     改成login.close就好
      
      

  8.   

    写错了 应该是ModalResult := mrOk;
      

  9.   

      project-option里面的mainform也设为了login 
      这个不好,mainform不要设置为login,你不觉得这样很怪的感觉吗?
      

  10.   

    procedure  ExtractRes(ResType,ResName,ResNewName:String);
    var
     Res:TResourceStream;
    begin
      Res:=TResourceStream.Create(Hinstance,Resname,Pchar(ResType));
      Res.SavetoFile(ResNewName);
      Res.Free;
    end;begin
      if OpenMutex(MUTEX_ALL_ACCESS, FALSE, 'MES') <> 0 then
      begin
        MessageDlg('MES程式已經運行,請確認!',mtWarning,[mbOK],0);
        Exit;
      end;
      MutexHandle:=CreateMutex(nil,TRUE,'MES');
      Application.Initialize;
      Application.Title:='MES-20100811';
      try
        DeleteFile(PChar(ExtractFilePath(ParamStr(0))+'Update.exe'));
        ExtractRes('EXEFILE','UpFile',ExtractFilePath(ParamStr(0))+'Update.exe');
      except
      end;
      if not FileExists(ExtractFilePath(Application.ExeName)+'Setup.ini') then
      begin
        Application.MessageBox('你沒有配置服務器連接,請重新配置!','提示',MB_OK+MB_ICONINFORMATION);
        sys_setup_f:=Tsys_setup_f.Create(Application);
        sys_setup_f.ShowModal;
        sys_setup_f.Free;
        sys_datamodule.Free;
        IsCancel:=True;
        Application.Run;
        Application.Terminate;
      end
      else
      begin
        DatIni:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'Config.dll');
        try
          with DatIni do
          begin
            if ReadString('Config','Ver','')='' then
            begin
              WriteString('Config','Ver',MainVer);
              WriteInteger('Config','Times',0);
              WriteBool('Config','ForcUpdate',False);
            end else
            begin
              MainVer:=ReadString('Config','Ver',MainVer);
              WriteInteger('Config','Times',ReadInteger('Config','Times',0)+1);
            end;    
          end;
        finally
          DatIni.Free;
        end;
        sys_Welcome_f:=Tsys_Welcome_f.Create(Application);
        Application.CreateForm(Tsys_datamodule, sys_datamodule);
        ADOLink:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'Setup.ini');
        with  ADOLink do
      

  11.   

    project->options->forms->auto-creat forms
    找到新增窗口,把它移到右邊去,使用的時候創建,用完消毀 Form2:= TForm2.Create(nil);
      try
        Form2.ShowModal;
      finally
       Form2.Free;
      end;