System.FreeMem
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
- System.FreeMemory
- System.Dispose
- System.GetMem
- System.GetMemory
- System.ReallocMem
- System.ReallocMemory