Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#21

Re: VirtualStringTree: Speicherleck

  Alt 1. Nov 2009, 11:33
Zitat von alzaimar:
Leute, was habt ihr eigentlich immer mit eurem 'Finalize'?
New/Dispose (bei Records) bzw. Create/Free (bei Klassen) kümmert sich doch um die ganze Chose. Deshalb programmiert man doch in Delphi und nicht in C...? Es wurde doch lang und breit erklärt, das dieses OnFreeNode nicht dazu dient, den Speicher freizugeben. Man muss das also selbst machen.

Ich würde mir auch keinen abbrechen, um die Information, die baumartig dargestellt werden soll, baumartig ablegen. Die Zeit hab ich einfach nicht:

Wenn ich in einem Baum polymorphe Informationen darstelle, klebe ich an jeden Knoten ein Objekt. Das Freigeben mache ich selbst, indem ich jedes Objekt in eine TObjectlist packe (OwnsObjects := True).

Was habe ich an dem Problem nicht verstanden, das es in meinen Augen keins ist? Außer, das ich den Sinn und Zweck dieses Events nicht verstanden habe.
Warum so aggresiv?

Ich habe das Problem schon verstanden und arbeite an der für mich besten Lösung dazu, ob nun mit Records oder mit Objekten soll mal meine Sorge sein.

OnFreeNode dient meiner Meinung nach schon dazu, Daten im Record freizugeben, die dessen bedürfen (so steht es zumindest in einigen Tutorials zum VT). Überrascht wurde ich nur davon, dass anscheinend nicht unbedingt alle eingefügten Knoten auch in OnFreeNode freigegeben werden und das kann durchaus auch anderen als mir passieren.
  Mit Zitat antworten Zitat