System.Dispose
Delphi
procedure Dispose(var P: Pointer);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure | public | System.pas | System | System |
Description
Libère la mémoire allouée à une variable dynamique.
Dispose libère la mémoire allouée à une variable pointeur allouée en utilisant System.New. Pour un pointeur ayant été alloué en utilisant System.GetMem, utilisez System.FreeMem pour libérer la mémoire allouée. Après l'appel à Dispose ou FreeMem, la valeur du pointeur qui lui est transmise est non définie.
Remarque : Si un pointeur sur de la mémoire non allouée est transmis à Dispose, 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, une exception 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, Dispose ne déclenche pas d'exception EInvalidPointer si un pointeur non valide est transmis à Dispose.