System.TMemoryManager

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

  TMemoryManager = record
    GetMem: function(Size: NativeInt): Pointer;
    FreeMem: function(P: Pointer): Integer;
    ReallocMem: function(P: Pointer; Size: NativeInt): Pointer;
  end deprecated 'Use TMemoryManagerEx';

C++

struct DECLSPEC_DRECORD TMemoryManager _DEPRECATED_ATTRIBUTE1("Use TMemoryManagerEx")
{
public:
    void * __fastcall (*GetMem)(NativeInt Size);
    int __fastcall (*FreeMem)(void * P);
    void * __fastcall (*ReallocMem)(void * P, NativeInt Size);
};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
record
struct
public
System.pas
System.hpp
System System

Beschreibung

Warnung: TMemoryManager ist veraltet. Bitte verwenden Sie TMemoryManagerEx.

TMemoryManager definiert die Eintrittspunkte für den Speicherblock.

Der Typ TMemoryManager wird von den Prozeduren GetMemoryManager und SetMemoryManager verwendet. Er definiert die Routinen für die Speicherzuweisung und -freigabe.

Die folgende Tabelle führt die Felder dieses Typs und deren Bedeutung auf.



Feld Bedeutung

GetMem

Gibt eine Funktion an, die die angegebene Byte-Anzahl zuweist und einen Zeiger auf den neu von der Routine GetMemory zugewiesenen Block zurückgibt. Der an die Funktion GetMem übergebene Parameter Size ist nie 0. Wenn die Funktion GetMem keinen Block in der angegebenen Größe zuweisen kann, wird nil (Delphi) oder NULL (C++) zurückgegeben.

FreeMem

Gibt eine Funktion an, die die Zuweisung des angegebenen Blocks aufhebt. Der an die Funktion FreeMem übergebene Zeigerparameter kann nie nil (Delphi) oder NULL (C++) sein. Wenn FreeMem den angegebenen Block erfolgreich freigeben konnte, wird 0 zurückgegeben. Ansonsten wird ein Wert ungleich Null zurückgegeben.

ReallocMem

Gibt eine Funktion an, die den angegebenen Block mit der angegebenen Größe neu zuweist. Der an die Funktion ReallocMem übergebene Zeigerparameter kann nie nil (Delphi) oder NULL (C++) sein, und der Parameter Size kann nie 0 sein. ReallocMem muss den angegebenen Block mit der neuen Größe neu zuweisen, wobei der Block möglicherweise verlagert wird, wenn dessen Größe an der alten Position nicht verändert werden kann. Der vorhandene Blockinhalt muss beibehalten werden, aber der neu zugewiesene Speicher kann uninitialisiert sein. Die Funktion ReallocMem muss einen Zeiger auf den neu zugewiesenen Block oder nil (Delphi) bzw. NULL (C++) zurückgeben, wenn der Block nicht neu zugewiesen werden konnte.



Siehe auch