![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день
Возникла проблема с закрытием модальной формы авторизации Файл проекта Код:
program WorkShop; uses Vcl.Forms, MainUnit in 'MainUnit.pas' {MainForm}, LoginUnit in 'LoginUnit.pas' {LoginForm}, DModuleUnit in 'DModuleUnit.pas' {DMForm: TDataModule}; {$R *.res} label rer; begin CheckUserPaswd: Application.CreateForm(TDMForm, DMForm); if TLoginForm.Execute then begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TMainForm, MainForm); Application.Run; end else Application.MessageBox('Проверьте имя пользователя и пароль!', 'Ошибка авторизации',(MB_ICONWARNING)); goto CheckUserPaswd; end. Функция вызова формы авторизации Код:
class function TLoginForm.Execute: boolean; begin with TLoginForm.Create(nil) do try Result := ShowModal = mrOk; finally Free; end; end; На форме авторизации две кнопки ОК и Отмена Кнопка ОК Код:
//Проверка логина и пароля если true ModalResult := mrOk end else ModalResult := mrAbort; На кнопку отмена и OnClose формы Код:
Application.Terminate; Так вот при нажатии кнопка отмена или закрытие формы Форма авторизации закрывается, а на экран вылазит сообщение Проверьте имя пользователя и пароль! в бесконечном цикле. Подскажите что я делаю не так? Последний раз редактировалось geniusbsd, 16.01.2015 в 03:06. |