Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
Delphi 12 Athens
|
Re: Speicherleck bei verschachtelten Objekten
15. Jan 2009, 10:54
Add(TObject(PEncyclopediaData));
Das kann natürlich nicht gut gehen.
TObjectList verwaltet Instanzen von TObject oder deren Nachkommen aber keine Records.
Wenn die Objectliste ein Element freigeben will, wird die Methode Free dieses Elements aufgerufen
(und Sie versucht alle Elemente freizugeben, wenn Sie selbst freigegeben wird).
Einfachste Lösung statt einem Record TTC7EncyclopediaDataStruc eine Klasse deklarieren:
TTC7EncyclopediaData = class(TObject)
{.. Felder ..}
end;
EncyclopediaData := TTC7EncyclopediaData.Create;
{.. Feldwerte zuweisen ..}
Add(EncyclopediaData);
|