Veฤina programa koja se kreira u programskom okruลพenju Delphi sadrลพi bar jednu formu (Form). Svaki takav projekat sadrลพi datoteku .DPR i jedan ili viลกe unit-a. Kada se projekat pokrene deลกavaju se dva koraka, Delphi registruje sve komponenete na formi operativnom sistemu i sledeฤi kada za naลกu prvu formu odvaja prostor u memoriji preko procedure CreateForm. Ako zavirite u .DPR datoteku videฤete sledeฤe:
program Project1;uses
Forms,
Unit1 in ‘Unit1.pas’ {Form1};{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
U prethodnom kodu vidimo da se koristi samo jedan „unit1“ i vidimo poziv CreateForm, ukoliko bi izostavili poziv Application.CreateForm program bi, kada bi se pokrenuo odmah bi i zavrลกio rad. U sluฤaju da vaลก projekat ima viลกe formi, osnovni blok naredbi bi ovako izgledao:
begin
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end;
Iz prethodnog koda vidimo da se za svaku naลกu formu alocira prostor u memoriji, ali ฤe vidljiva biti samo prva. U sluฤaju da hoฤemo da se vide i ostale forme, pozvaฤemo ih instrukcijom:
Form2.Visible := True; ILI
Form2.Show
Najฤeลกฤe imamo sluฤaj da nam se otvara prva forma, a potom se otvaraju ostale forme na kojima su druge sekcije programa i to na dogaฤaj klika (OnClick) na neko dugme ili izborom opcije menija.
procedure TForm1.Button1Click(Sender:TObject);
begin
Form2.Show;
end;
Prethodnim kodom sa prve forme preko klika na dugme „Button1“ otvaramo drugu formu. Ne zaboravite da u deklaraciji „implementation“ dodate klauzulu “ uses Unit2; „. Ova klauzula ukazuje na drugi Unit programa „Unit2″, ovo se ฤini zato ลกto prva forma ne zna za postojanje druge forme. Zatvaranje forme vrลกimo preko instrukcije “ Close; „, ovom funkcijom forma se jednostavno „sakriva“ (postaje nevidljiva) ali se ne izbacije iz memorije. U sluฤaju da instrukciju „Close“ pozovemo sa prve forme doฤi ฤe do zatvaranja cele aplikacije-programa.
Pratite Krstaricu na www.krstarica.com