|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.01.2013, 11:48 | #1 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
TStringList и Oбъекты. При уничтожении StringLIst - теряет обьекты?
Доброго времени суток!
Есть некий наследник TStringList он хранит строки, и с каждой строкой ассоциирован объект N. Вот такой стэк вызова выдает MadExcept: Код:
Цитата:
1. При разрушении TStringList, его объекты напрочь потеряли свои TEdit и в деструкторе класса ошибка и утечка памяти. 2. При уничтожении объекта и создании контейнера - возникает утечка памяти. Как это лечить? И почему это происходит? Даже поместил Edit в protected секцию класса - ничего не изменилось. Он все равно исчезает неведомо куда. Последний раз редактировалось Человек_Борща; 09.01.2013 в 11:55. |
|
09.01.2013, 12:06 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Код:
Мне непонятно это Код:
Также непонятно Код:
Про утечки я бы ещё в сторону листвью поглядел. Ну и банальное - нигде у объекта не вызываете креэйт вместо класса ? |
09.01.2013, 12:22 | #3 | ||||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Код:
Цитата:
Цитата:
Получается как только объект получает родителя, то уже родитель контролирует жизненный цикл объекта, а список - просто место хранения. Цитата:
Поэтому я таким образом переопределяю содержимое этой переменной из локальных данных, на данные уже из объекта в списке. Это избавляет от некоторых проблем. Последний раз редактировалось Человек_Борща; 09.01.2013 в 12:28. |
||||
09.01.2013, 12:39 | #4 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Глупая мешанина бизнес логики, структур хранения и компонент отображения... переделать!
Не стесняемся, плюсуем!
|
09.01.2013, 13:41 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Slym, Я тоже хотел пожаловаться на некоторую "кашу", но "интуитивно понятные имена" меня покорили и я воздержался
Человек_Борща, не обессудьте, с поздними версиями дельфи редко работаю, обычно всё 7 и 2007, хотя, теоретически мог бы найти и в онлайн-справке. Ну, а насчёт родителей владельцев формовых компонент я уже где-то в инете с кем-то обсуждал, тогда как раз докопались до кода в ВСЛ где перент как и овнер имеет список компонент и сам их чистит, как видите, пригодилось )) Ну, а насчёт Data - это же указатель, какая разница локальная переменная или где-то там ) на данные он указывает одни и те же ) ведь именно адрес этих данных обрабатывается, а не адрес самой переменной указателя ) Последний раз редактировалось phomm; 09.01.2013 в 13:44. |
09.01.2013, 13:56 | #6 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Slym, И как можно проще?
Суть в том что этот список - часть большого проекта, и форма редактора рождается только тогда, когда она нужна. ListView - всего лишь способ удобного отображения, и не менее удобного редактирования. Цитата:
Проект: формирование каталогов для выставки собак. Это насчет интуитивно понятных форм. Последний раз редактировалось Человек_Борща; 09.01.2013 в 14:00. |
|
09.01.2013, 14:12 | #7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Хоть не мне адресовано, но скажу.
Возможно, не проще, но методика для разработки подобного существует. В своё время изучал по статьям на рсдн , вводную дам вот эту http://www.rsdn.ru/article/patterns/patterns.xml а там и далее может куда выйдете. Это не истина в последней инстанции и вообще дело долгое, но я считаю в перспективе очень хороший подход. Кстати, где-то должны были остаться эксперименты, навеяные этой статьёй и плюс до кучи по БД, могу скинуть. |
09.01.2013, 14:14 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Мне интересно - какая такая необходимость редактирование в субитемах ListView организовывать, плодя при этом тучу TEdit? Тот же StringGrid спокойно и без проблем с этой задачей справится
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.01.2013, 14:42 | #9 | |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Цитата:
и про секс - он либо есть либо его нет true/false м/ж m/f
Не стесняемся, плюсуем!
|
|
09.01.2013, 14:59 | #10 | |||
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Цитата:
Цитата:
Цитата:
|
|||
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DSL-модем теряет Интернет при нагрузке | Arigato | Компьютерное железо | 6 | 25.09.2012 22:28 |
Использование Self.Handle при создании и уничтожении компонента | spamer | Общие вопросы Delphi | 19 | 11.03.2010 00:51 |
Ошибка AV при уничтожении объектов из модулей(dll) | puga555 | Общие вопросы Delphi | 4 | 08.01.2010 22:14 |
Обьекты при компиляции | prod87 | Общие вопросы Delphi | 4 | 28.10.2009 00:37 |