System.Initialize

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure Initialize(var V; [ Count: NativeUInt]); overload;
procedure Initialize(var V; [ Count: NativeUInt]); overload;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure public System.pas System System

Beschreibung

Initialisiert eine dynamisch zugewiesene Variable.

In Delphi sollte Initialize nur in Situationen verwendet werden, in denen eine dynamische Variable nicht mit der Standardprozedur New erzeugt wird.

Wenn globale Variablen, lokale Variablen, Objekte und dynamische Variablen mit New erzeugt werden, generiert der Compiler Programmcode, der beim Erstellen einer Variable alle in ihr enthaltenen langen Strings und Varianten initialisiert. Die Variable muss in den folgende Situationen zuerst mit Initialize initialisiert werden, bevor sie verwendet werden kann:

  • Die dynamische Variable wird nicht mit der Standardfunktion New erstellt (sondern z.B. mit GetMem oder ReallocMem).
  • Die Variable enthält lange Strings, Varianten oder Interfaces.
  • Der für die Variable reservierte Speicher ist nicht mit Nullen initialisiert.

Initialize setzt einfach den von den langen Strings, Varianten und Interfaces belegten Speicher auf Null und sorgt somit dafür, dass die Strings leer sind, und die Varianten und Interfaces den Wert Unassigned erhalten.

Werden mehrere Variablen in einem zusammenhängenden Speicherblock erzeugt, kann der optionale Parameter Count angegeben werden, um alle Variablen in einem Aufruf zu initialisieren.

Enthält die als Parameter an Initialize übergebene Variable keine langen Strings, Varianten oder Interfaces entfernt der Compiler den Aufruf und generiert keinen Code.

Siehe auch

Codebeispiele