System.Initialize

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

Propriétés

Type Visibilité  Source Unité  Parent
procedure public System.pas System System

Description

Initialize initialise une variable allouée dynamiquement.

Initialize ne devrait être utilisée dans le code Delphi que lorsqu'une variable est allouée dynamiquement par un autre moyen que par la procédure standard New.

Pour les variables globales, locales, les objets et les variables dynamiques alloués en utilisant la procédure standard New, le compilateur génère du code qui initialise toutes les variants et chaînes longues contenu dans une variable lors de la création de cette variable. Un appel à Initialize est nécessaire afin d'initialiser la variable avant son utilisation :

  • La variable dynamique est créée par un autre moyen que la fonction standard New (par exemple, en utilisant GetMem ou ReallocMem)
  • La variable contient des variants, interfaces ou chaînes longues.
  • La mémoire allouée pour les variables n'est pas initialisée à zéro.

Initialize ne fait que mettre à zéro la mémoire occupée par des variants, interfaces et chaînes longues, rendant ainsi les chaînes vides et les variants et interfaces Unassigned.

Dans les cas où plusieurs variables sont allouées dans un bloc de mémoire contiguë, le paramètre additionnel Count peut être spécifié afin d'initialiser toutes les variables en une seule opération.

Si la variable spécifiée lors d'un appel à Initialize ne contient pas de variants, de chaînes longues ni d'interfaces, le compilateur élimine l'appel et ne génère pas de code pour cet appel.

Voir aussi