Показать сообщение отдельно
  #11  
Старый 23.07.2014, 10:52
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Код:
Application.ShowMainForm := False;
Помогло, спасибо.

Код:
function TFormLogin.Authorization(Users: TADOTable): boolean;
begin
  dsUsers.DataSet := Users;

  repeat
    if ShowModal = mrOK then
    begin
      if dsUsers.DataSet.Locate('Login;Cash',
        VarArrayOf([edLogin.Text, edCash.Text]), []) then
      begin
        dsUsers.DataSet.Edit;
        if cbRememberMe.Checked = true then
          Users.FieldByName('Remember').AsInteger := 1;
        dsUsers.DataSet.FieldByName('LoginDate').AsDateTime := Now;
        dsUsers.DataSet.Post;
        Result := true;
      end
      else
      begin
        edCash.Clear;
        if edLogin.Text = '' then
          edLogin.SetFocus
        else
          edCash.SetFocus;
      end;
    end
    else
      Break;
  until Result = true;
end;

Т.е. я как делаю: повторять попытки входа, пока пользователь жмёт ok. Как только ShowModal не равен mrOK цикл прерывается и вываливается с Result = False; что влечёт за собой Terminate.

Не нравится "break". Может как-то без этого можно обойтись?
Ответить с цитированием