不知道你的登录事件怎么控制的 (转摘)
 假设LoginForm 上有一个 edtUserName 和 edtPswd Edit控件和
 一个 btnOk,和btnCancel 按钮 在btnOk按钮事件里判断用户合法性
 不合法则重新输入,如果点btnCancel或者直接关闭窗口表示用户放弃
 进入 
    则可以用下面的方法:
 1. 把btnCancel的ModalResult 属性设为mrCancel 或者在其OnClick事件
    里写  ModalResult := mrCancel;
 2. btnOk的OnClick 事件里进行合法性校验
        ........
        if 合法 then begin
        end 
          ...... ;
          ModalResult := mrOk ; 
        else begin
        end ;
 3. function TLoginForm.Login  :Boolean ;
    begin
      Result := ShowModal = mrOk ;
    end; 4. .dpr文件 
  begin
    Form2:= TForm2.Create(Application) ;
    if form2.Login then begin
       Application.Initialize; 
       Application.Create(TMainForm,MainForm);
       ........
    end ;

解决方案 »

  1.   

    program gagl;uses
      Forms,
      SysUtils,
      dialogs,
      gagl_main in 'gagl_main.pas' {main},
      w_dmwh in 'w_dmwh.pas' {wdmwh},
      m_gbjbxx in 'm_gbjbxx.pas' {m_gbjbxxform},
      m_grjledit in 'm_grjledit.pas' {grjledit},
      m_dajyedit in 'm_dajyedit.pas' {dajyedit},
      m_jtqk in 'm_jtqk.pas' {jtqkedit},
      m_clsjedit in 'm_clsjedit.pas' {clsjedit},
      m_dazledit in 'm_dazledit.pas' {dazledit},
      m_dazdedit in 'm_dazdedit.pas' {dazdedit},
      m_zpgrjl in 'm_zpgrjl.pas' {zpgrjl},
      m_grjldy in 'm_grjldy.pas' {grjldy},
      m_dajydy in 'm_dajydy.pas' {dajydy},
      m_clsjdy in 'm_clsjdy.pas' {clsjdy},
      m_dazldy in 'm_dazldy.pas' {dazldy},
      m_dazddy in 'm_dazddy.pas' {dazddy},
      w_gbbdedt in 'w_gbbdedt.pas' {gbbdform},
      dy_gbllb_2Unit in 'dy_gbllb_2Unit.pas' {dy_gbllb_2form},
      dy_gbllb_3Unit in 'dy_gbllb_3Unit.pas' {dy_gbllb_3form},
      dy_gbllb_4Unit in 'dy_gbllb_4Unit.pas' {dy_gbllb_4form},
      dy_gbllb_5Unit in 'dy_gbllb_5Unit.pas' {dy_gbllb_5form},
      dy_gbllb_6Unit in 'dy_gbllb_6Unit.pas' {dy_gbllb_6form},
      dy_gbllb_7Unit in 'dy_gbllb_7Unit.pas' {dy_gbllb_7form},
      dy_gbllb_8Unit in 'dy_gbllb_8Unit.pas' {dy_gbllb_8form},
      dy_gbllb_9Unit in 'dy_gbllb_9Unit.pas' {Form17},
      dy_gbllbUnit in 'dy_gbllbUnit.pas' {dy_gbllbform},
      dy_gbllUnit in 'dy_gbllUnit.pas' {Form18},
      dy_gbrmcb in 'dy_gbrmcb.pas' {Form3},
      dy_gbrmcb_1 in 'dy_gbrmcb_1.pas' {Form4},
      dy_gbrmcb_2 in 'dy_gbrmcb_2.pas' {Form5},
      dy_gbrmcb_3 in 'dy_gbrmcb_3.pas' {Form6},
      dy_gbrmcb_4 in 'dy_gbrmcb_4.pas' {Form7},
      dy_gbrmcb_5 in 'dy_gbrmcb_5.pas' {Form8},
      dy_gbrmcb_6 in 'dy_gbrmcb_6.pas' {Form9},
      dy_gbrmcb_7 in 'dy_gbrmcb_7.pas' {dy_gbrmcb_7form},
      dy_gbrmcbUnit in 'dy_gbrmcbUnit.pas' {dy_gbrmcbform},
      dy_jbqk in 'dy_jbqk.pas' {Form1},
      dy_jyd in 'dy_jyd.pas' {dyjyd},
      dy_zwbdb in 'dy_zwbdb.pas' {dyzwbdb},
      dy_gbllb_1Unit in 'dy_gbllb_1Unit.pas' {dy_gbllb_1form},
      w_gbzwbddj in 'w_gbzwbddj.pas' {m_gbzwbddj},
      w_zwbd in 'w_zwbd.pas' {zwbd},
      m_gzbd in 'm_gzbd.pas' {gzbd},
      m_gzbdedit in 'm_gzbdedit.pas' {gzbdedit},
      m_splash in 'm_splash.pas' {splashfrm},
      m_dlUnit in 'm_dlUnit.pas' {gagl_dl},
      w_yhsz in 'w_yhsz.pas' {yhsz},
      m_gbxxqk in 'm_gbxxqk.pas' {gbxxqk},
      m_zx in 'm_zx.pas' {zx},
      m_dyjbxxUnit in 'm_dyjbxxUnit.pas' {m_dyjbxxform},
      m_dyjbxxczUnit in 'm_dyjbxxczUnit.pas' {m_dyjbxxczform},
      m_dzjbxxUnit in 'm_dzjbxxUnit.pas' {m_dzjbxxform},
      m_dzxxczUnit in 'm_dzxxczUnit.pas' {m_dzxxczForm},
      m_dzbmxzUnit in 'm_dzbmxzUnit.pas' {m_dzbmxzform},
      m_sjdybmUnit in 'm_sjdybmUnit.pas' {m_sjdybmform};{$R *.RES}var
      count:integer;
    begin
      Application.Initialize;
      splashfrm:=tsplashfrm.create(application);
      splashfrm.show;
      splashfrm.update;
      for count:=0 to 400000000 do
      begin
      end;
      splashfrm.hide;
      splashfrm.free;
      gagl_dl:=Tgagl_dl.Create(application);
      gagl_dl.Showmodal;
      if gagl_dl.dl=false then
      begin
        exit;
        application.Terminate;
      end;
      Application.CreateForm(Tmain, main);
      Application.CreateForm(Tdyzwbdb, dyzwbdb);
      Application.CreateForm(Tm_dzbmxzform, m_dzbmxzform);
      Application.CreateForm(Tm_sjdybmform, m_sjdybmform);
      main.dwmc:=gagl_dl.combobox1.text;
      main.czsj:=datetostr(gagl_dl.DateTimePicker1.date);
      Application.CreateForm(TForm18, Form18);
      Application.CreateForm(TForm3, Form3);
      Application.CreateForm(TForm4, Form4);
      Application.CreateForm(TForm5, Form5);
      Application.CreateForm(TForm7, Form7);
      Application.CreateForm(TForm6, Form6);
      Application.CreateForm(TForm9, Form9);
      Application.CreateForm(TForm17, Form17);
      Application.CreateForm(TForm8, Form8);
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(Tdy_gbllb_1form, dy_gbllb_1form);
      Application.CreateForm(Tdy_gbrmcbform, dy_gbrmcbform);
      Application.CreateForm(Tdy_gbrmcb_7form, dy_gbrmcb_7form);
      Application.CreateForm(Tdy_gbllbform, dy_gbllbform);
      Application.CreateForm(Tdy_gbllb_8form, dy_gbllb_8form);
      Application.CreateForm(Tdy_gbllb_7form, dy_gbllb_7form);
      Application.CreateForm(Tdy_gbllb_6form, dy_gbllb_6form);
      Application.CreateForm(Tdy_gbllb_5form, dy_gbllb_5form);
      Application.CreateForm(Tdy_gbllb_4form, dy_gbllb_4form);
      Application.CreateForm(Tdy_gbllb_3form, dy_gbllb_3form);
      Application.CreateForm(Tdy_gbllb_2form, dy_gbllb_2form);
      Application.Run;
    end.
    &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    unit m_dlUnit;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Db, DBTables, StdCtrls, Buttons, ComCtrls, jpeg, ExtCtrls,Registry;type
      Tgagl_dl = class(TForm)
        Label4: TLabel;
        Bevel1: TBevel;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Image1: TImage;
        Label6: TLabel;
        Label7: TLabel;
        Edit1: TEdit;
        DateTimePicker1: TDateTimePicker;
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        BitBtn3: TBitBtn;
        Query1: TQuery;
        Database1: TDatabase;
        Label8: TLabel;
        ComboBox1: TComboBox;
        procedure BitBtn3Click(Sender: TObject);
        procedure BitBtn2Click(Sender: TObject);
        procedure FormShow(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      dl:boolean;  
      end;var
      gagl_dl: Tgagl_dl;implementation
    {$R *.DFM}procedure Tgagl_dl.BitBtn3Click(Sender: TObject);
    begin
      dl:=false;
      query1.close;   //关闭数据集
    end;procedure Tgagl_dl.BitBtn2Click(Sender: TObject);
    begin
      if combobox1.Text='' then
      begin
         application.MessageBox('请选择单位名称!','提示',mb_ok+mb_iconinformation);
         exit;
      end;
      with query1 do   //判断密码是否正确
      begin
          close;
          sql.Clear;
          sql.Add('select * from w_yhsz where');
          sql.Add('(dwmc=:p_dwmc)'+'and'+'(mm=:p_mm)');
          parambyname('p_dwmc').asstring:=combobox1.Text;
          parambyname('p_mm').asstring:=edit1.text;
          open;
          if recordcount<>0 then  //正确
          begin
             dl:=true;
             gagl_dl.Close;
          end
          else                   //错误
          begin
             application.MessageBox('密码错误!','提示',mb_ok+mb_iconerror);
             edit1.Text:='';
             edit1.SetFocus;
             exit;
          end; 
      end;
    end;procedure Tgagl_dl.FormShow(Sender: TObject);
    var
      i:integer;
      reg:TRegistry;
    begin
      reg:=tRegistry.Create();      //配置数据库
      with reg do
      begin
         try
            rootkey:=HKEY_CURRENT_USER;
            if openkey('\Software\ODBC\ODBC.INI\gars',true) then
            begin
               writestring('Datebase','gars');
               writestring('Driver','C:\WINNT\System32\sqlsrv32.dll');
               writestring('LastUser','sa');
               writestring('Server','(local)');
            end;
            if openkey('\Software\ODBC\ODBC.INI\ODBC Data Sources',true) then
            begin
               writestring('gars','SQL Server');
            end;
         except
            closekey;
            free;
         end;
      end; 
      datetimepicker1.Date:=date;    //当前日期
      combobox1.Clear;
      with query1 do
      begin
         close;
         sql.Clear;
         sql.Add('select distinct dwmc from w_yhsz');
         open;
         first;
         if recordcount<>0 then
         begin
            for i:=0 to recordcount-1 do
            begin
               combobox1.Items.Add(fieldbyname('dwmc').asstring);  //添加用户
               next;
            end;
         end;
      end;
    end;end.
      

  2.   

    呵呵,可以看看这个贴子http://www.csdn.net/expert/topic/654/654021.xml?temp=.1914789
      

  3.   

    weizhi(行者) (  ) ,你给的路径我进不去呢?你是从标题上面拷下来的吗?
      

  4.   

    procedure TMainForm.FormActivate(Sender: TObject);
    begin
      ShowWindow(Handle, SW_NORMAL);
      with TLoginForm.Create(Application) do
      try
        if ShowModal <> mrOK then
          Application.Terminate;
      finally
        Release;
      end;
    end;