你应该在formlogin的onclose中写如下代码:
if sender<>ok_buttom then 
  begin
      Application.MainForm.Free;
      Application.Terminate
  end;

解决方案 »

  1.   

    var OK:Boolean;
    begin
      while Not OK do
      begin
      if combobox1.Text ='' then
      begin
        showmessage('请选择用户名!');
      end ;
      if edpassword.Text ='' then
      begin
        showmessage('请输入密码');
        edpassword.SetFocus;
      end;
      if (combobox1.Text <> '') and (edpassword.Text <> '') then
      begin
        query1.Close;
        query1.SQL.Clear;
        query1.SQL.Add('select 密码,权限 fROM JCSZ');
        query1.SQL.Add ('where 用户名=:dept');
        query1.ParamByName ('dept').AsString :=combobox1.Text ;
        query1.Prepare;
        query1.Open;
        if edpassword.Text <> query1.FieldByName('密码').AsString then
        begin
          showmessage('密码输入错误,请重新输入!');
          edpassword.Text :='';
          EDPASSWORD.SetFocus;
        end
        else OK:=True;
      end;
      end;
    end;
      

  2.   

        if edpassword.Text <> query1.FieldByName('密码').AsString then
        begin
          showmessage('密码输入错误,请重新输入!');
          edpassword.Text :='';
          EDPASSWORD.SetFocus;
          //exit;//这儿错了
          modalresult:=mrCancel;//或者直接退出 Application.teminate;
        end;
      
      

  3.   

    请检查确定按钮的ModalResult属性是否为mrNone如下是登陆窗体确定按钮的代码:
    begin
      if combobox1.Text ='' then
      begin
        showmessage('请选择用户名!');
        exit;
      end ;
      if edpassword.Text ='' then
      begin
        showmessage('请输入密码');
        edpassword.SetFocus;
        exit;
      end;
      if (combobox1.Text <> '') and (edpassword.Text <> '') then
      begin
        query1.Close;
        query1.SQL.Clear;
        query1.SQL.Add('select 密码,权限 fROM JCSZ');
        query1.SQL.Add ('where 用户名=:dept');
        query1.ParamByName ('dept').AsString :=combobox1.Text ;
        query1.Prepare;
        query1.Open;
        if edpassword.Text <> query1.FieldByName('密码').AsString then
        begin
          showmessage('密码输入错误,请重新输入!');
          edpassword.Text :='';
          EDPASSWORD.SetFocus;
          exit;
        end;
      end;
      ModalResult := mrOk;
    end;