Taki durny pomysł – wyświetlić okno modalnie po tym, gdy główne okno aplikacji zostanie zamknięte. Niby prosta rzecz, ale zagwozdka polega na tym, że o ile to modalne okienko się pojawia, to program nie wstrzymuje działania – pojawia się i znika, program kończy działanie i się wyłącza, w ogóle nie czekając na reakcję na komunikat. Podany w konstruktorze modalnego formularza właściciel nie ma znaczenia – nieważne czy nil
czy Application
.
Do zobrazowania niech posłuży poniższy kawałek kodu:
// aplikacja startuje i działa aż do zamknięcia głównego okna
Application.Run();
// stworzenie i pokazanie okna modalnego
MyForm := TMyForm.Create();
MyForm.ShowModal();
MyForm.Free();
Da się coś z tym zrobić? Zmusić program, aby jednak poczekał na zamknięcie tego modalnego okna? Chodzi mi konkretnie o zatrzymanie działania programu oknem modalnym, po zakończeniu działania metody Application.Run
– ukrywanie głównego formularza nie wchodzi w grę.
Nie żeby mi to było jakoś szczególnie potrzebne, ale z ciekawości spróbowałem coś takiego wykonać i nie znalazłem sposobu na pokonanie tego problemu. W każdym razie chciałbym wiedzieć czy jest jakieś rozwiązanie. ;)