![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильн вызвать Destroy? [D7, XP]
Константин © (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]Есть хороший принцип - не всё сразу. Учись двигаться по шагам. Сказали - здесь - фигня. Правь фигню - выкладывай код - спрашивай дальше. Скорее всего еще что-то от форума получишь. На противодействие, боюсь, получишь только противодействие.