Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Прерывание если в массиве TList один из обьектов по определённому индексу заменяется / 13 сообщений из 13, страница 1 из 1
26.07.2021, 15:31
    #40086249
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
Всем доброго времени дня,

в TList в каком то месте кода по определённому индексу обьект перестаёт существовать/возможно удаляется (но не заменяется на nil, Assigned продолжает возвращать True). Надо отловить в каком месте кода это происходит. Какой алгоритм выставления прерывания на такое событие?
Это будет прерывание адреса или данных? Поясните пожалуйста порядок действий.

Спасибо
...
Рейтинг: 0 / 0
26.07.2021, 15:41
    #40086258
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
Установить бряку в деструктор объекта.
...
Рейтинг: 0 / 0
26.07.2021, 15:45
    #40086260
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
DimaBr
Установить бряку в деструктор объекта.

слишком много надо будет проходить деструкторов т.к. в TList много однотипных обьектов
...
Рейтинг: 0 / 0
26.07.2021, 15:48
    #40086266
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
опять же, обьект может существовать дальше. Заменится может только ссылка по индексу TList.
...
Рейтинг: 0 / 0
26.07.2021, 15:58
    #40086268
asviridenkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
data breakpoint. Только надо заранее большой capacity выставить
...
Рейтинг: 0 / 0
26.07.2021, 16:45
    #40086279
Virtual Student
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
Предлагаю простой вариант.
Сделать свой TList с заменой GetIetm и SetItem на свои, с вызовом нужных событий.
...
Рейтинг: 0 / 0
26.07.2021, 16:53
    #40086282
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
Добавь в деструктор объекта код самостоятельно себя удаляющий из листа.
...
Рейтинг: 0 / 0
26.07.2021, 16:58
    #40086285
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
hlopotun,

если объекты есть производные от TComponent, то можно подписаться на Notification (например, на рассылку можно подписать объект, владеющий списком TList) И при добавлении очередного объекта в список подписываться на рассылку. Тогда при сообщении "Operation = opRemove" можно будет узнать, что некий объект AObject был уничтожен
...
Рейтинг: 0 / 0
26.07.2021, 17:37
    #40086301
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
hlopotun
в TList много однотипных обьектов
Использовать деструктор родителя?
...
Рейтинг: 0 / 0
26.07.2021, 20:02
    #40086332
Aleksandr Sharahov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
hlopotun
Всем доброго времени дня,

в TList в каком то месте кода по определённому индексу обьект перестаёт существовать/возможно удаляется (но не заменяется на nil, Assigned продолжает возвращать True). Надо отловить в каком месте кода это происходит...


Зачем надо отловить? Допустим, отловил, что планируется сделать после этого?
...
Рейтинг: 0 / 0
26.07.2021, 23:17
    #40086359
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
Похоже, таки тролль.
...
Рейтинг: 0 / 0
27.07.2021, 00:17
    #40086364
hlopotun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
YuRock
Похоже, таки тролль.

На работе не вмегда есть время быть в форуме.
Прерывание на изменение данных по адресу помогло. Объект уничтожался 2 раза, из разных фоеймворков. Один для рарадокса, другой для firebird. Отдал разработчикаи фреймворков на правку.
...
Рейтинг: 0 / 0
27.07.2021, 03:00
    #40086368
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прерывание если в массиве TList один из обьектов по определённому индексу заменяется
hlopotun
YuRock
Похоже, таки тролль.

На работе не вмегда есть время быть в форуме.
Прерывание на изменение данных по адресу помогло. Объект уничтожался 2 раза, из разных фоеймворков. Один для рарадокса, другой для firebird. Отдал разработчикаи фреймворков на правку.
Прекрасно.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Прерывание если в массиве TList один из обьектов по определённому индексу заменяется / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]