В порядке практики… Создадим 2 формы, главная форма будет вызывать не главную через showmodal…
Вызов модальной формы
1 2 3 4 |
procedure TForm1.Button3Click(Sender: TObject); begin Form2.ShowModal; end; |
Чтение модального результата
1 2 3 4 5 6 7 |
procedure TForm1.Button4Click(Sender: TObject); begin if Form2.ModalResult = mrCancel then Showmessage('Result Cancel'); if Form2.ModalResult = mrOk then Showmessage('Result Ok'); end; |
На модальной форме есть кнопка, которая записывает в свойство ModalResult значение mrOK при событии onClick
1 |
Self.ModalResult:=mrOk; |
Также, если в ObjectInspector у этой кнопки установить любое значение, кроме mrNone, то мы получим это значение, вне зависимости от того, что указали при обработке onClick;