Delphi’de DPR ve DPROJ uzantılı proje dosyası hariç kod dosyaları Unit’ler şeklinde düzenlenmektedir. Bu nedenle Delphi’de(.NET uyumlu versiyonda durum farklıdır) üzerinde çalışılan projeye bir Unit dahil edilir veya File menüsünden komut verilerek yeni Unit hazırlandığında Delphi aşağıdaki gibi bir Unit kalıbı hazırlamaktadır.
unit Unit2;
interface
implementation
end.
Bu kalıpta interface ve implementation bölgeleri bulunmaktadır. Unit’lerde bu 2 bölgeden başka isteğe bağlı olarak initialization ve finalization bölgeleri olabilmektedir. Unit’te tek başına initilization bölgesine yer verilebilir ama derleyici initialization bölgesi olmayan Unit’lerin finalization bölgesine sahip olmasına izin vermiyor.
unit Unit2;
interface
implementation
initialization
finalization
end.
Initialization bölgesine yazılan satırlar söz konusu unit herhangi bir Unit’in veya DPR dosyasının Uses bloğunda uygulamaya dahil edildiğinde işletilmektedir. Finalization bölgesine yazılan satırlar ise projenin çalışması sona erdirildiğinde otomatik olarak işletilmektedir. Delphi programcıları tarafından bilinen bu konu üzerinde neden durdum diye sorabilirsiniz. Bu soruya başka bir soru ile cevap vereceğim: Uygulamaya dahil edilip işlevi biten Unit'lerden birisi istenilen zamanda uygulamadan uzaklaştırılıp finalization bölgesine yazılan satırlar işletilebilir mi?
unit Unit2;
interface
Uses
Dialogs;
implementation
initialization
ShowMessage('Uygulamaya Unit2 dahil edildi');
finalization
end.