AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

AV - Warum?

Ein Thema von glkgereon · begonnen am 24. Sep 2005 · letzter Beitrag vom 24. Sep 2005
 
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#1

AV - Warum?

  Alt 24. Sep 2005, 13:51
Hi

ich habe eine TreeView die ich dynamisch befülle.
da das im laufe des Programms mehrmals vorkommen kann, habe ich mir folgendes überlegt:

Delphi-Quellcode:
procedure UpdateTreeView;
var i:Integer;
begin
  { ... Daten holen etc. ... }
  FTree.Items.Clear; //TreeView leeren
  for i:=0 to Length(FNodes)-1 do //Nodes plattmachen
    if FNodes[i]<>nil then FNodes[i].Free;
  SetLength(FNodes,FGruppen.Count+FLieder.Count); //Array setzen
  for i:=0 to Length(FNodes)-1 do //Nodes erstellen
    FNodes[i]:=TTreeNode.Create(FTree.Items);
  { ... Nodes setzen und in TreeView rein ... }
end;
aber beim Free'en der Nodes kommt es immer zu ner AV (Wenn sie schon exitieren)
wenn ich die schleife weglasse habe ich ein monster-Speicherleck was eigentlich nur daher kommen kann.

weiss einer was daran falsch ist? bzw wie ich es anders machen kann?

Edit: FNodes ist ein array of TTreeNode, FGruppen und FLieder TStringList und FTree eine TreeView.
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz