System.SysUtils.EInvalidPointer

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.SysUtils.EHeapExceptionSystem.SysUtils.ExceptionSystem.TObjectEInvalidPointer

Delphi

EInvalidPointer = class(EHeapException);

C++

class PASCALIMPLEMENTATION EInvalidPointer : public EHeapException

Propriétés

Type Visibilité  Source Unité  Parent
class public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils

Description

EInvalidPointer est la classe d'exception pour les opérations sur des pointeurs non valides.

EInvalidPointer est déclenchée lorsqu'une application tente une opération non valide sur des pointeurs. Par exemple, cette exception se produit si une application essaye de libérer deux fois le même pointeur ou de faire référence à un pointeur déjà libéré.

Remarques :

  • Vous ne devez jamais déclencher directement une exception EInvalidPointer. EInvalidPointer est déclenchée en interne par le gestionnaire de mémoire.
  • Si un pointeur sur de la mémoire non allouée est transmis à Dispose ou FreeMem, le comportement de l'application dépend largement de la plate-forme cible et s'effectue de la façon suivante :
    • Pour les plates-formes Windows, 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 Mac OS X et iOS, Dispose et FreeMem ne déclenchent pas d'exception EInvalidPointer si un pointeur non valide leur est transmis.

Voir aussi