Also eine Referenz kannst du ja immer noch irgendwo gespeichert haben. In diesem Fall einen typisierten Pointer.
Delphi-Quellcode:
type
TMyDynArray = array of Integer;
PMyDynArray = ^TMyDynArray;
Wenn du jetzt:
Delphi-Quellcode:
var
MyDynArray : TMyDynArray;
MyDynArrayPointer : PMyDynArray;
begin
MyDynArrayPointer := MyDynArray;
//und dann
MyDynArray := Nil;
Dann sollte der Array nicht keinen Speicher mehr haben... Sondern erst wenn auch
MyDynArrayPointer := Nil;
MyDynArrayPointer nicht mehr auf die Speicherstelle zeigt sollte der Speicher freigegeben sein.
OB das allerdings wirklich so ist ist grade reine Spekulation meinerseits... Da müsste doch vielleicht jemand von den älteren und weiseren einmal was zu sagen
Edit:
Habe den Code von Herr Raabe ausgetestet. Ja meine Vermutung war richtig.
Grüße
Edit:
Herr Raabe, haben wir hier Referenzzähler im Hintergrund (Stichwort Smartpointer)?