Когда форма A является модальной и отображает вторую модальную форму B, а модальный результат для B установлен, а затем B закрывается, A также закрывается.
Как это можно предотвратить?
Когда форма A является модальной и отображает вторую модальную форму B, а модальный результат для B установлен, а затем B закрывается, A также закрывается.
Как это можно предотвратить?
Это неправда, в вашем коде должна быть какая-то другая проблема. Настройка ModalResult
повлияет только на текущую модальную форму. Попробуйте этот очень простой пример:
Создать новую форму
Наденьте на него кнопку
В обработчик события кнопки OnClick
добавьте этот код:
procedure TForm1.Button1Click(Sender: TObject);
begin
with TForm1.Create(Self) do begin
if ShowModal = mrCancel then
Self.Color := RGB(Random(256), Random(256), Random(256));
end;
end;
Вы заметите, что каждое нажатие кнопки создает новую модальную форму, и вы можете повторять это столько раз, сколько пожелаете. Закрытие формы установит ее ModalResult
в mrCancel
и снова активирует родительскую форму. Для выхода из приложения вам нужно будет закрыть все формы, одну за другой, в обратном порядке создания.