Цитата:
Сообщение от Embarcadero
TObjectList is a TList with the capability of automatically freeing object entries when they are removed from the list.
|
В связи с этим
полагаю (не утверждаю), что l1 владеет объектом и при удалении из списка он удаляется, а во втором списке остается указатель на невалидный объект. Это может кончится совершенно произвольными вещами, в том числе и похуже, чем пустая строка в имени.
Если так, то самым простым решением пожалуй будет отключить
OwnsObjects в списках
и не забывать удалять сами объекты руками, когда они более не нужны. Можно пойти другим путем - хранить в списках или динамических массивах не объекты, а записи (
record), чтобы при добавлении элемента он полностью копировался в новый список/массив, а не просто сохранялся еще один указатель, как в случае с объектами.
Но это только предположение - я не особо разбирался в работе делфовых строк, списков и импровизированного сборщика мусора.