Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильн вызвать Destroy? [D7, XP]


Страницы:   1 2 3

Константин ©   (2010-04-02 15:00:00) 

Как правильно вызвать Destroy у объекта, который унаследован от TObjectList и в котором есть свойство Strings TStringList
Делаю так:
destructor Destroy;
....
destructor TOMyObjtct.Destroy;
begin
 Strings.Free;
 inherited;
end;
Не пойму. В таком варианте вроде работает, но непонятно как память освобождает. А вот если объявить деструктор как
destructor Destroy; override;
То в него заходит деббагер но ошибка на вызове деструктора предка!


Константин   (2010-04-06 14:35:00) [1]


> Не обманывай.

Вы меня плохо, знаете. Я за "чистоту" кода, но деньги тоже нужны!


Дмитрий Белькевич   (2010-04-06 14:26:00) [2]

Удалено модератором
Примечание: И не цитируем


Anatoly Podgoretsky   (2010-04-06 14:26:00) [3]

> Константин  (06.04.2010 14:21:54)  [54]

> потом перепишу.

Не обманывай.


Константин   (2010-04-06 14:21:00) [4]

Удалено модератором
Примечание: Выражения выбираем, не в пивной


Игорь Шевченко   (2010-04-06 14:09:00) [5]


> (как, кстати, правильно override переводить?)


перекрывает в данном контексте


Константин   (2010-04-06 14:09:00) [6]


> как, кстати, правильно override переводить

переопределяет ;)


Дмитрий Белькевич   (2010-04-06 14:04:00) [7]


> [21]


Уже вроде не [21] - он метод переименовал и не перезагружает (как, кстати, правильно override переводить?) предковый.

Что бы не переименовывать метод, рекомендую посмотреть, что такое FreeAndNil и то, что говорил Подгорецкий - посмотреть, как использовать в методе Clear конструкцию 'if Assigned'. Можно будет всё оставить как было.


Leonid Troyanovsky   (2010-04-06 13:47:00) [8]


> Константин   (06.04.10 13:31) [49]

[21]

--
Regards, LVT.


Константин   (2010-04-06 13:31:00) [9]


> Автору: код исправленный давай.


destructor Destroy; override;

//.....

procedure TOATravelSheets.ClearData;
begin
 inherited Clear;
 Notices.Clear;  
end;

destructor TOATravelSheets.Destroy;
begin
 Notices.Free;
 inherited;
end;


Anatoly Podgoretsky   (2010-04-06 13:21:00) [10]

> Демо  (06.04.2010 13:05:46)  [46]

Оно обязано разрушаться, никто адреса менять не позволял. Да и делов то сделать контролируемое свойство, многие части VCL такие имеют, например TPicture
Неужели автор не в состоянии написать if Assigned


Дмитрий Белькевич   (2010-04-06 13:19:00) [11]


> контролируемое свойство


Увидел. Согласен.


> Оно может и не разрушаться - присвоил, поработал да и ладно.


Относитесь к сексу с юмором. Не встал – похохотали и баиньки.

Автору: код исправленный давай.


Демо   (2010-04-06 13:05:00) [12]


> Дмитрий Белькевич   (06.04.10 12:40) [43]
> > Для присвоение StringListТак поле же - поле класса. Классом
> должно создаваться и разрушаться. Опять же - присвоение
> - сразу же утечка.


Оно может и не разрушаться - присвоил, поработал да и ладно.


Anatoly Podgoretsky   (2010-04-06 13:00:00) [13]

> Игорь Шевченко  (06.04.2010 12:32:41)  [41]

За поиск телефона доверия.


Anatoly Podgoretsky   (2010-04-06 13:00:00) [14]

> Дмитрий Белькевич  (06.04.2010 12:40:43)  [43]

Ты не внимательно читаешь - контролируемое свойство.


Дмитрий Белькевич   (2010-04-06 12:40:00) [15]


> Для присвоение StringList


Так поле же - поле класса. Классом должно создаваться и разрушаться. Опять же - присвоение - сразу же утечка.


Anatoly Podgoretsky   (2010-04-06 12:33:00) [16]

> Дмитрий Белькевич  (06.04.2010 12:14:36)  [36]

Для присвоение StringList


Игорь Шевченко   (2010-04-06 12:32:00) [17]


>  я против насилия и хочу чтобы на форумах процветали мир,
>  благодать, взаимоуважение, взаимопонимание и общий вектор
> качественного решения проблем, наставления на путь истинный
> и т.п. Человеческое общение!


Это платная услуга :)


Дмитрий Белькевич   (2010-04-06 12:31:00) [18]


> Да без проблем, я против насилия и хочу чтобы на форумах
> процветали мир, благодать, взаимоуважение, взаимопонимание
> и общий вектор качественного решения проблем, наставления
> на путь истинный и т.п. Человеческое общение!


Тут недавно это плотно обсуждали. Всё, что тебе говорят - это уже после этой ветки. До этой ветки просто сразу в дворники отсылали ;)


Константин   (2010-04-06 12:26:00) [19]


> Дмитрий Белькевич   (06.04.10 12:17) [37]

Да без проблем, я против насилия и хочу чтобы на форумах процветали мир, благодать, взаимоуважение, взаимопонимание и общий вектор качественного решения проблем, наставления на путь истинный и т.п. Человеческое общение!


Дмитрий Белькевич   (2010-04-06 12:24:00) [20]

Есть хороший принцип - не всё сразу. Учись двигаться по шагам. Сказали - здесь - фигня. Правь фигню - выкладывай код - спрашивай дальше. Скорее всего еще что-то от форума получишь. На противодействие, боюсь, получишь только противодействие.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо