Initialize
moRs
procedure Initialize(var V [; Count: Integer] );
Procedura Initialize inicjalizuje zmienną V alokowaną dynamicznie. Powinna być używana w sytuacjach, gdy zmienna jest alokowana innymi sposobami niż przez procedurę New.
Dla zmiennych globalnych, zmiennych lokalnych, obiektów i zmiennych dynamicznych alokowanych przez procedurę New, kompilator automatycznie generuje kod, który inicjalizuje wszystkie łańcuchy znaków i varianty które zawiera zmienna przed jej stworzeniem. Wywołanie procedury Initialize dla zmiennej przed jej użyciem jest wymagane jeśli:
- zmienna dynamiczna jest tworzona sposobem innym niż przez procedurę New (np. poprzez GetMem lub ReallocMem),
- zmienna zawiera łańcuchy znaków, varianty lub interfejsy,
- pamięć przydzielona zmiennej nie jest inicjalizowana zerami.
Initialize zeruje pamięć zajmowaną przez łańcuchy znaków, varianty i interfejsy, przez co łańcuchy stają się puste a varianty i interfejsy przyjmują wartość Unassigned
W przypadku gdy zmienne znajdują się w ciągłym bloku pamięci, można określić dodatkowy parametr Count w celu zainicjalizowania wszystkich zmiennych w jednej operacji.
Jeżeli zmienna nie zawiera żadnych łańcuchów znaków, variantów lub interfejsów, kompilator usuwa z kodu wywołanie tej procedury.
Zobacz też: