Einzelnen Beitrag anzeigen

Jim Carrey
(Gast)

n/a Beiträge
 
#43

AW: Nodes einer VirtualStringTree hinzufügen - aber schneller!

  Alt 6. Okt 2016, 16:36
Den Code habe ich leider nicht mehr.

Zitat:
Die andere Frage wäre jetzt, ob das nicht egal ist. Es läuft ja jetzt. ReportMemoryLeaksOnShutdown gibt dir auch keine Meldung aus? Wenn nicht, dann ist alles gut.
Nicht ganz.
Ich erstelle in meiner Schleife für jeden Knoten den ich zur VST hinzufüge parallel einen eigenständigen Datensatz. Das will ich irgendwann einmal ändern aber nicht jetzt.

Früher benutze ich ein Record. Da stehen ein paar Strings, Booleans und Integers drin. Später habe ich daraus Class gemacht, da ich diese Klassen-Instanz dann einer ObjectList hinzufüge, welche später benötigt wird.

Delphi-Quellcode:
Datensatz := TMeinDatenSatz.Create;
DatenSatz.MeinString := '123';
MeineObjektListe.Add(DatenSatz); // Liste hat OwnsObjects auf False, da das sonst Fehler gibt
Nun gehe ich diese Liste durch und gebe alles frei:
Delphi-Quellcode:
for i := MeineObjektListe.Count - 1 downto 0 do
 begin
  TMeinDatenSatz(MeineObjektListe.Items[i]).Free;
  MeineObjektListe.Delete(i);
 end;

 MeineObjektListe.Free;
Beim Beenden des Programms dann die Meldung, dass dutzende Unicode-Strings nicht freigegeben wurden. Das sind zu 100% die aus TMeinDatenSatz.
  Mit Zitat antworten Zitat