Это не так, в вашем коде должна быть какая-то другая проблема. Установка 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
и снова включит родительскую форму. Для выхода из приложения вам нужно будет закрыть все формы, одну за другой, в обратном порядке создания.