Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Speicherleck bei verschachtelten Objekten

  Alt 15. Jan 2009, 09: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);
  Mit Zitat antworten Zitat