Izgleda da nisam najbolje objasnio.
U main formi kreiram sve ostale forme, ovisno što korisnik radi.
Isto tako korisni može zatovriti neku od tih formi.
1. Kada korisnik pritisne npr. gumb - "Unos stavke" kreira se forma fmUnos
2. Nakon što korisnik unese što želi - zatvori formu.
E, sad, što ako pritisne gumb "Unos stavke" dok još nije zatvorio formu ili ako zatvara main formu, a još postoje druge aktivne forme? Kako da znam da je forma kreirana ili ne? Mogao bih uvesti varijablu koja bi se setirala pri kreiranju forme... Najljepše rješenje bi bilo kada bih mogao direktno detektirati da li je neka forma kreirana.
Sad koristim metodu:
u main formi, tamo gdje kreiram formu imam kod:
Code:
if NekaForma <> nil then NekaForma := tNekaForma.Create(nil);
NekaForma.BringToFront;
Ono što želim izbjeći je u toj NekojFormi, u OnClose imam:
Code:
FreeAndNil(NekaForma);
bez toga ne radi dio u main formi, ondosno, radi samo prvi put..
u OnClose main forme imam:
Code:
if NekaForma <> nil then NekaForma.Close;
...