System.FreeMem

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure FreeMem(var P: Pointer; [ Size: Integer]); overload;
procedure FreeMem(var P: Pointer; [ Size: Integer]); overload;

Propriétés

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


Description

FreeMem libère un bloc de mémoire préalablement alloué avec GetMem.

Utilisez cette procédure pour libérer un bloc de mémoire obtenu avec GetMem.

Le paramètre Size spécifie la taille en octets de la variable dynamique à libérer. Si spécifiée, elle doit représenter exactement le nombre d'octets préalablement alloués à cette variable par GetMem.

Après l'appel de cette procédure, la valeur du paramètre P n'est pas définie.

Remarques :

  • FreeMem n'est pas disponible dans C++. Dans C++, vous pouvez utiliser FreeMemory.
  • Si un pointeur sur de la mémoire non allouée est transmis à FreeMem, le comportement de l'application dépend beaucoup de la plate-forme cible et s'effectue de la façon suivante :
    • Pour les plates-formes Windows, EInvalidPointer est déclenchée dans des applications utilisant System.SysUtils et une erreur d'exécution est générée pour les applications qui n'utilisent pas System.SysUtils. (FastMM, le gestionnaire mémoire par défaut, peut détecter un pointeur non valide.)
    • Pour les plates-formes OS X et iOS, FreeMem ne déclenche pas d'exception EInvalidPointer si un pointeur non valide est transmis à Dispose.

Voir aussi

Exemples de code