System.FreeMem
Delphi
procedure FreeMem(var P: Pointer); overload;
procedure FreeMem(var P: Pointer; Size: NativeInt); overload;
Inhaltsverzeichnis
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
- System.FreeMemory
- System.Dispose
- System.GetMem
- System.GetMemory
- System.ReallocMem
- System.ReallocMemory
Routinen für die dynamische Speicherzuweisung
Intrinsische Routinen in Delphi