Показать сообщение отдельно
  #7  
Старый 04.03.2018, 22:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да проще все.
В файле проекта делам так:
Код:
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();
Ответить с цитированием