2011-09-23 18 views

Odpowiedz

3

Możliwym rozwiązaniem (używam w C#) jest przechowywanie każdej otwartej instancji formularza w liście var. Na przykład można mieć globalną listę o nazwie openedForms; kiedy tworzony jest każdy formularz, sam formularz może dodać jego odniesienie do openedForms i usunąć go podczas zamykania.
Gdy użytkownik próbuje zamknąć twoją aplikację, możesz sprawdzić, czy liczba list jest większa od zera, a jeśli użytkownik naprawdę chce się zamknąć, zamykasz z wdziękiem każdą instancję formularza zawartą w opensForms przed zamknięciem aplikacji.

1

używam

Main.MDIChildCount >0 

dla dziecka froms

+0

Po odpowiedzi, ale nie używam MDI. –

0
var 
i:integer; 
begin 
    with Application do 
    for i:=0 to componentcount-1 do 
    if components[i] is TMyCustomForm   //your form class here, or simply TForm 
    then showmessage(components[i].Name); 
end; 

Pokazuje MDI i formy non-MDI.

Powiązane problemy