Хитрость заключается в том, чтобы отложить вызов ShowModal FormC до закрытия FormB.Следующий код может быть помещен в обработчик событий ButtonClick.Он использует метод ForceQueue , доступный в последних версиях Delphi. Анонимный метод , присвоенный ForceQueue , будет выполнен в главном потоке в более поздний момент.Это позволяет модальной FormB завершить работу до отображения FormC.
TThread.ForceQueue(nil,
procedure
var
frm: TFormC;
begin
frm := TFormC.Create(Application);
try
frm.ShowModal;
finally
frm.Free;
end;
end
);
ModalResult := mrOK;