Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2012, 10:25   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ошибки не будет, вызов Free через Destroy обратится и к Parent для обновления Controls и к Owner для обновления Components
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.06.2012, 12:00   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Со вчерашнего дня думал, стоит ли написать, и всё же решил.

На мой взгляд вызывать SomeImage.Free; не нужно. Ведь задан владелец, в унаследованном деструкторе владелец чистит своих подопечных.
Нет ничего страшного
Код:
someImage.Free; // УНАСЛЕДОВАННЫЙ (для SomeImage) деструктор первым делом удалит себя из списка контролируемых компонент (из списка Oner.Components). 

inherited Destroy; // теперь мы как собственник ничего не знаем про someImage (стало быть не будем пытаться его удалять).
стало быть никаких двойных Free (и никаких AV).
а правило, все что создал сам, сам и удаляю соблюдено.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 21.06.2012, 15:02   #13
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Угу, понял, извиняюсь за дезу тогда, надо было поглядеть в код деструктора ткомпонета.
Ну тогда, думаю, всё равно смысла вызывать руками нет, лишняя строка кода (разве что для ясности нужна), ведь деструктор владельца сам почистит подопечных из массиво компонентов.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Owner Aleksey1989 Помощь студентам 1 13.10.2010 09:49
parent:: stenl1 PHP 16 26.05.2010 12:29
Ошибка в собственном компоненте для D7 apromix Компоненты Delphi 3 20.01.2010 00:47
У кого какая система хранения на собственном компе данных grenles Свободное общение 31 25.10.2009 06:34
Self, Owner, Sender Arkuz Общие вопросы Delphi 5 26.10.2008 00:00