GetMem , FreeMem / , ReallocMem , , . , ReAllocMem - API . nil ReAllocMem > 0, GetMem. ReAllocMem size = 0, FreeMem. , "" , - nil p > 0.
New Dispose " ", Turbo Pascal ( "" ). New Dispose , , . , :
type
PMyRec = ^TMyRec;
TMyRec = record
Name: string;
Value: Variant;
end;
var
Rec: PMyRec;
begin
New(Rec);
try
Rec.Name := 'TestValue';
Rec.Value := 100;
...
finally
Dispose(Rec);
end;
end;
New Dispose , Name Value . New Dispose, :
GetMem(Rec, SizeOf(Rec^));
Initialize(Rec);
...
Finalize(Rec);
FreeMem(Rec);
, , Gamecat , , , , , . , , , . , . , :
var
Member: TMemberData;
Items: array of TMemberData;
...
begin
SetLength(Items, Value);
for Member in Items do // iterate over each element in the array
...
for Low(Items) to High(Items) do // same as above only using std functions
...
end;
, , , , , , TMemberData , , "" , .