Wie schon gesagt wurde ... wozu soll sowas gut sein?
Ein dynamisches Array ist schon ein Pointer.
Delphi-Quellcode:
var
MyPointer : Pointer;
New(MyPointer)
...
SetLength(PMyRecArray(MyPointer)^, 10);
PMyRecArray(MyPointer)^[i]
...
// MyPointer := nil; // hier hatte Flips ein Speicherleck erzeugt
PMyRecArray(MyPointer)^ := nil; // so Richtig
// SetLength(PMyRecArray(MyPointer)^, 0); // oder so
Dispose(MyPointer);
oder
Delphi-Quellcode:
var
MyPointer : PMyRecArray;
New(MyPointer)
...
SetLength(MyPointer^, 10);
MyPointer^[i]
...
// MyPointer := nil; // hier hatte Flips ein Speicherleck erzeugt
MyPointer^ := nil; // so Richtig
// SetLength(MyPointer^, 0); // oder so
Dispose(MyPointer);
wobei ich es maximal so machen würde
Delphi-Quellcode:
type TMyArray = array of irgendwas;
PMyArray = ^TMyArray;
var MyArr : TMyArray;
var MyArrPointer : PMyArray;
MyArrPointer := @MyArr;
SetLength(MyArrPointer^, 10);
MyArrPointer^[i]