各位,我现在设计了一个主窗口(FrmMain),相关的用户管理操作都以它为平台,并且已经完成。现在我想加一个密码确认窗口(FrmOpeLog),操作者只有输入正确的操作员代码和相应的密码才能弹出主窗口。可是现在情况是:我在project->option->forms->auto create里调整窗口的显示顺序,将frmoplog放置于frmmain前面,按F9运行或者是直接双击编译好的.exe文件,系统总是先弹出FrmMain主窗口(只不过显示的和设计的不一样,但是主窗口上的菜单功能都能够实现)。请问应该怎么办?

解决方案 »

  1.   

    我的例子:(在工程文件中)
    program Prj_c;uses
      Forms,
      Windows,
      messages,
      Dialogs,
      Unit_login in 'Unit_login.pas' {Form2},
      Unit_datamodalc in 'Unit_datamodalc.pas' {DataModule1: TDataModule},
      Unit_quick in 'Unit_quick.pas' {Frm_quickinsert};{$R *.RES}begin
      Application.Initialize;
      Application.CreateForm(TDataModule1, DataModule1);
      Application.Run;
      if createloginwindow then  //调登录窗口过程,成功才进入主窗口
      begin
        CreatQuickinsertWindow;  //调主窗口过程
      end;
    end.
      

  2.   

    登录窗口过程:function createloginwindow: boolean;
    begin
      with TForm2.Create(nil) do
      begin
        re := false;
        ShowModal;
        Free;
        result := re;
      end;
    end;
      

  3.   

    主窗口过程procedure CreatQuickinsertWindow;
    begin  with TFrm_quickinsert.create(nil) do
      begin
        showmodal;
        free;
      end;end;
      

  4.   

    先在FrmOpeLog的oncreate事件中写入 ShowModal; 代码,然后在project->option->forms->auto create中将frmopelog放到最前面,此时密码确认出口就可以弹出来了