Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#48

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

  Alt 6. Okt 2016, 16:23
Ich glaube da hast du irgendwo noch einen Denkfehler in deinem Code. An der Klasse wird es so wie die aufgebaut ist und so wie du es sagst nicht liegen.

Ich vermute eher, dass da doch mit dem Init und so noch nicht so richtig funktioniert. Aber ohne mehr SourceCode oder eine ganze Unit wird das sehr schwer dir da weiterzuhelfen.

Genaugenommen haben MemoryLeaks ja auch nix mehr mit dem eigentlichen Thema zu tun. Die schnellere Erstellung der Nodes ist ja denke ich jetzt abgeschlossen.

Aber noch eine Sache zu deiner Freigabe:

Delphi-Quellcode:
for i := MeineObjectList.Count - 1 downto 0 do begin
  TMeinDatenSatz(MeineObjectList.Items[i]).Free;
  MeineObjectList.Delete(i);
end;
Brauchst du den Cast auf TMeinDatenSatz wirklich? Wie ist denn deine ObjectList deklariert? Benutzt du Generics oder noch nicht? Wenn du Generics benutzt, dann ist der Cast total überflüssig da du schon ein Objekt von genau dem Typ zurück erhältst.

EDIT: Mit "Massen" wird das nichts zu tun haben. Ich habe eine Anwendung in der mehrere 1000 (durchaus mal 20.000) Nodes und dementsprechend viele Objekte erzeugt werden. Bei der Freigabe bleibt rein gar nichts an Leaks zurück.

Geändert von Aviator ( 6. Okt 2016 um 16:25 Uhr)
  Mit Zitat antworten Zitat