Показать сообщение отдельно
  #8  
Старый 05.03.2018, 14:27
Ekler1 Ekler1 вне форума
Новичок
 
Регистрация: 12.06.2017
Сообщения: 90
Версия Delphi: RAD Studio XE7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Да проще все.
В файле проекта делам так:
Код:
begin
  Application.Initialize;

  fm3 := Tfm3.Create(Nil);
  Try
    if frm.ShowModal <> mrOK Then Halt(1);
  Finally
    fm2.Free;
  End;
  Application.CreateForm(Tfm1, fm1);
  Application.CreateForm(Tfm2, fm2);
  Application.Run;
end.

Соответсенно, если авторизация прошла, то форма должна вернуть mrOK. Например так:
Код:
procedure Tfm2.Button1Click(Sender: TObject);
begin
  If (Edit1.Text = 'user' and Edit2.Text = 'pwd') // тут проверка авторизации, для простоты просто сравнил с константами
    Then ModalResult := mrOK
    Else  
      Begin
        ShowMessage('Непрвильные логин/пароль.');
        ModalResult := mrCancel;
     End;
end;

PS. Еще можно "воткнуться" в OnCreate главной формы и в случае неправильной авторизации закрывть приложение через Halt();

Код:
if frm.ShowModal <> mrOK Then Halt(1);
Ругается на mrOK
Ответить с цитированием