Показать сообщение отдельно
  #2  
Старый 20.03.2016, 16:05
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

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

Но это только предположение - я не особо разбирался в работе делфовых строк, списков и импровизированного сборщика мусора.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием