Forum: Programmieren allgemein
by Uwe Raabe,
21. Okt 2020
Die Abfrage auf Assigned ist überflüssig, da das direkt in Free abgefangen wird:
procedure TObject.Free;
begin
// under ARC, this method isn't actually called since the compiler translates
// the call to be a mere nil assignment to the instance variable, which then calls _InstClear
{$IFNDEF AUTOREFCOUNT}
if Self <> nil then
Destroy;
{$ENDIF}
Forum: Programmieren allgemein
by Uwe Raabe,
21. Okt 2020
Ja, das ist in der Tat so. Durch die Zuweisung wird die Variable neu gesetzt und die ursprüngliche Instanz wird zu einer Speicherleiche.
Alternativ zum Weglassen des FAnsagenListe:= TObjectList<TAnsagen>.Create; kannst du auch vor der Zuweisung ein Free aufrufen:
FAnsagenListe.Free;
FAnsagenListe := TJson.JsonToObject<TObjectList<TAnsagen>>(LsList.Text);