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

Что касается шифров - я понял. Хромает архитектура.

Код:
procedure TFormMain.FormCreate(Sender: TObject);
begin
  with TFormLogin.Create(Self) do
    try
      if not Authorization(Users) then // Users - это DataSet с информацией о всех пользователях, хранимых в БД
        Halt;
    finally
      Free;
    end;
end;

После HALT - сыпятся ошибки доступа к памяти. Я понимаю, что это очень жёсткое прерыванием процедуры Чем заменить?
Если Application.Terminate, то форма успевает "мигнуть", не по феншую


В самом методе Authorization я предполагаю:

Код:
while Result <> true do
    Result := ShowModal = mrOK // пока нажимают ОК (пытаясь войти)
    if Users.Locate('Login;Cash', VarArrayOf([edLogin.Text, edCash.Text]),
      []) then // если нашёлся, тогда выходим из цикла, возвращаем true
      Result := true;
  end;
т.е. сам метод возвращает либо true (В случае авторизации) либо false (В случае, когда надо закрывать приложение нафиг).

От идеи с уже открытым окном и кнопкой авторизации пришлось отказаться в силу "указаний руководства". Не хотят показывать даже GUI программы.
Ответить с цитированием