System.FreeMem

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

procedure FreeMem(var P: Pointer); overload;
procedure FreeMem(var P: Pointer; Size: NativeInt); overload;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure public System.pas System System


Beschreibung

FreeMem gibt einen zuvor mit GetMem zugewiesenen Speicherblock frei.

Nach dem Aufruf von FreeMem ist der Wert des Parameters P nicht definiert.


FreeMem hat zwei überladene Prozeduren.

Die zweite Prozedur fügt einen optionalen Size-Parameter hinzu, der veraltet ist und nur aus Gründen der Abwärtskompatibilität verwendet wird.

Beachtung: FreeMem ist in C++ nicht verfügbar. Stattdessen können Sie FreeMemory verwenden.
Hinweis: Wenn ein Zeiger auf nicht zugewiesenen Speicher an FreeMem übergeben wird, hängt das Verhalten der Anwendung weitgehend von der Zielplattform ab:
  • Windows-Plattformen: In Anwendungen, die System.SysUtils verwenden, wird EInvalidPointer ausgelöst, und für Anwendungen, die System.SysUtils nicht verwenden, wird ein Laufzeitfehler erzeugt. (FastMM, der Standard-Speichermanager, kann ungültige Zeiger ermitteln.)
  • OS X- und iOS-Plattformen: FreeMem löst keine EInvalidPointer-Exception aus, wenn ein ungültiger Zeiger an "Dispose" übergeben wird.

Siehe auch

Routinen für die dynamische Speicherzuweisung

Intrinsische Routinen in Delphi

Codebeispiele