System.FreeMem

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

procedure FreeMem(var P: Pointer); overload;
procedure FreeMem(var P: Pointer; Size: NativeInt); 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.

Après un appel à FreeMem, la valeur du paramètre P devient non définie.


FreeMem a deux procédures surchargées.

La seconde procédure ajoute un paramètre Size optionnel qui est obsolète et ne doit être utilisé qu'à des fins de compatibilité avec les versions antérieures.

Attention: FreeMem n'est pas disponible dans C++. Utilisez plutôt FreeMemory.
Remarque: Si un pointeur sur de la mémoire non allouée est transmis à FreeMem, le comportement de l'application dépend grandement de la plate-forme cible et s'effectue de la façon suivante :
  • Pour les plates-formes Windows, EInvalidPointer est déclenché avec les 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