System.TMemoryManager
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. |