Beni de her record için -ki genelde dinamik array ve string illa ki kullanıyorum- bir de bu record tipini dizginlemek için fazladan bir CONST tanımlama külfetinden kurtardınız.

- Araştırınca
Kısaca der ki; Delphi aslında string, dinamik dizi, interface ve variant tipleri içeren değişkenleri otomatik olarak finalize eder, ancak bu değişkenlere - ki örnekteki gibi sadece ARMAN dediğimiz zaman statik ama biz bunu bir fonksiyon/procedure ürünü olarak vermiştik (örnek copy() fonksiyon) hatırlasınız.- bu gibi dinamik atama yaparsak o zaman FREE etmeden önce finalize edilmesine ihtiyaç duyulurmuş.Finalize Procedure yazdı:Description
The Finalize procedure cleans up strings, dynamic arrays, interfaces, Variants, and records or arrays that contain these types. Delphi automatically finalizes variables of string, dynamic array, interface, or Variant type, but if you allocate such types dynamically, you need to finalize the memory before freeing it.
If you are finalizing more than one item in an array, pass the count of the number of array elements as the Count parameter. The Count is the number of array elements, not the number of bytes to be freed.
Finalize is not a real procedure.
Eğer dinamik bir array finalize edilecekse, hele birden fazla da itemi varsa ( setlength() ile dizi boyunu tanımlarız ya ondan bahsediyor ) o zaman yanına virgül koyup dizideki eleman sayısını da vermek gerekiyormuş ( Finalize( ArrayAdi, itemsayisi );) . Bu parametre olarak verilen rakam dizinin eleman sayısı olup, aman bir yanlışlık olmasın diye sizeof() gibisinden byte değildir diye de eklemişler.
