Section courante

A propos

Section administrative du site

FREEMEM

Libère la mémoire
Delphi/Kylix/Lazarus System

Syntaxe

Procedure FreeMem(Var P:Pointer);
Procedure FreeMem(Var P:Pointer; Size:Integer);

Paramètres

Nom Description
P Ce paramètre permet d'indiquer le pointeur contenant l'adresse de la mémoire ayant déjà été alloué
Size Ce paramètre permet d'indiquer le taille du bloc de mémoire alloué dynamiquement

Description

Cette procédure permet de libérer une partie de mémoire dynamique attribué dans la zone de mémoire de tas à l'aide de la procédure GetMem.

Exemple

Voici quelques exemples typiques de l'utilisation de «FreeMem» en Delphi :

  1. Program FreeMemSamples;
  2.  
  3. {$APPTYPE CONSOLE}
  4. Uses SysUtils;
  5.      
  6. Type
  7.  TLongInt=Array[0..1000] of LongInt;
  8.      
  9. Var
  10.  tableau1,tableau2:^TLongInt;
  11.      
  12. BEGIN
  13.  GetMem(tableau1,1000*sizeof(LongInt));
  14.  GetMem(tableau2,1000*sizeof(LongInt));
  15.  If tableau1 <> NIL Then Begin
  16.   WriteLn('Libère le tableau1');
  17.   FreeMem(tableau1,1000*sizeof(LongInt));
  18.  End;
  19.  If tableau2 <> NIL Then Begin
  20.   WriteLn('Libère le tableau2');
  21.   FreeMem(tableau2,1000*sizeof(LongInt));
  22.  End;
  23. END.

on obtiendra le résultat suivant s'il y a assez de mémoire disponible :

Libère le tableau1
Libère le tableau2

Voir également

Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Dispose
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - GetMem
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - New
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - ReallocMem

Dernière mise à jour : Mercredi, le 18 février 2015