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 :
- Program FreeMemSamples;
-
- {$APPTYPE CONSOLE}
- Uses SysUtils;
-
- Type
- TLongInt=Array[0..1000] of LongInt;
-
- Var
- tableau1,tableau2:^TLongInt;
-
- BEGIN
- GetMem(tableau1,1000*sizeof(LongInt));
- GetMem(tableau2,1000*sizeof(LongInt));
- If tableau1 <> NIL Then Begin
- WriteLn('Libère le tableau1');
- FreeMem(tableau1,1000*sizeof(LongInt));
- End;
- If tableau2 <> NIL Then Begin
- WriteLn('Libère le tableau2');
- FreeMem(tableau2,1000*sizeof(LongInt));
- End;
- END.
on obtiendra le résultat suivant s'il y a assez de mémoire disponible :
Libère le tableau1Libè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