Die Liste speichert einfach die Adressen von den Speicherbereichen der Pointer.
FreeAndNil(obj);
kannst du gleichsetzen mit
obj.Free;
obj := nil;
um genau zu sein
Delphi-Quellcode:
procedure FreeAndNil(var Obj);
var
Temp: TObject;
begin
Temp := TObject(Obj);
Pointer(Obj) := nil;
Temp.Free;
end;
Wenn es dir also um Performance geht würde ich ein einfaches .free empfehlen