Zitat:
Delphi-Quellcode:
procedure TJsonArray.Clear;
begin
end;
destructor TJsonObject.Destroy;
begin
FValues.Free;
Und wann werden die Items in dieser Liste freigegen?
-> nie
Entweder du machst das selber oder du nimmst eine TObjectList / TObjectList<T> mit OwnsObjects=True.
Ich würde auch eines der vielen Tutorials bezüglich Fehlerbehandlung empfehlen.
Wenn ich z.B. ein "neues" Objekt zurückgebe und zwischen der Erstellung und dem Methodenende Fehler auftreten könnten, dann wird das immer via Try-Except abgesichert.
Delphi-Quellcode:
function Test: TObject;
begin
Result := TObject.Create;
...
// hier irgendwas "Gefährliches" machen
end;
// bei einer Exception kümmert sich keiner mehr um die Freigabe des Objektes
function Test: TObject;
begin
Result := TObject.Create;
try
...
// hier irgendwas "Gefährliches" machen
except
Result.Free;
// bei Fehler wieder Freigeben
raise;
// und abgefangenen Fehler weiterreichen
end;
end;