Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#12

Re: Liste mit TRects - Speicherleck?

  Alt 17. Nov 2006, 22:38
1. Wenn New(), dann bitte auch Dispose()
2. Dispose() sollte mit dem richtigen Typ aufgerufen werden.
3. Wozu gerade Clear überschreiben? Wenn ein Eintrag aus der Liste gelöscht wird, dann wird dieser nicht freigegeben!
4. Es gibt bei TList nicht umsonst ein Notify im protected Abschnitt (damit ist Punkt 3 auch erledigt):

Delphi-Quellcode:
Procedure TRectList.Notify(Ptr: Pointer; Action: TListNotification);
Begin
  If ( Action = lnDelete ) Then
    Dispose(PRect(Ptr));

  Inherited;
End;
  Mit Zitat antworten Zitat