В проекте, над которым я работаю, есть случаи, когда несколько объектов TList содержат один и тот же объект item.
По сути, существует главный список, который содержит все объекты элементов, а затем меньшие списки, которые содержат только подмножество всех элементов. Элементы одинаковы, но не копия.
Где проблема возникает во время разрушения. Основной список освобождается, что освобождает все элементы. Основной список заботится об освобождении элементов путем переопределения «уведомлять», а подсписки переопределяют событие «Уведомлять», так что элемент не освобождается во второй раз - что в любом случае приведет к ошибке.
Однако при использовании FastMM4 в журнале утечки памяти перечисляются элементы как утечка памяти.
Так как же освободить объекты, принадлежащие двум или более спискам?
Кстати, это не мой код, я просто немного его поддерживаю. Я хотел бы избежать создания клона каждого объекта для включения в отдельные списки, если я могу, но эй, мужчина должен делать то, что должен делать мужчина: o)
Спасибо
Bourgui
EDIT
Неважно, я должен быть сумасшедшим. Теперь FastMM4 не помечает элементы как протекающие ... Только подсписки, которые на самом деле являются подклассом основного списка.
Здесь должно быть что-то, чего мне не хватает. Я собираюсь провести больше тестов, чтобы получить более четкое представление о том, что происходит.
Спасибо за все ответы до сих пор.