Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: TObjectList sehr anfällig?
26. Aug 2012, 10:01
Also eine TObjectList ist genauso anfällig wie ein Array, vor allem weil eine TObjectList ein gekapseltes Array ist. Und ein Griff neben die Kiste ( Index < 0 or Index >= Count ) würde auch bei einem Array Probleme geben.
Allerdings findet es eine TObjectList doof, wenn man eine Instanz in der Liste aus dem Speicher wirft, solange diese noch in selbiger verweilt.
Aus deinem Code entnehme ich, dass du da die Buttons entfernst und erst dann die Liste bereinigst. Diese Organisation sehe ich als den kritischen Teil an. Denn in der TObjectList sind ja die Verweise auf die Instanzen noch enthalten und wenn OwnsObjects auf true, dann versucht die TObjectList beim Entfernen aus der Liste ein Free auf diese (vermeintlich noch existierende) Instanz.
Evtl. ist da die Verantwortlichkeit (wer macht was wann) im Code nicht klar geregelt. Aber zur Beurteilung fehlt da der CodeTeil, der für den Eintrag und das Entfernen der Buttons.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
|