| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как правильно уничтожать инстансы ?? |
| Автор: Гость_Игорь 5.8.2004, 09:35 | ||||||
Есть класс типа такого:
Надо ли уничтожать внутренние классы в деструкторе? Что-то типа так:
Или же они уничтожаются "автоматом"? И еще вопрос: необходим ли вызов в деструкторе
Заранее спасибо. |
| Автор: Dynamic 5.8.2004, 10:25 |
| Уничтожать надо, желательно с "обnilиванием" (во избежание возможных ошибок при обращении к объекту). Деструктор тоже надо вызывать, если ты его не переопределяешь полностью. ИМХО. |
| Автор: Guest 5.8.2004, 10:35 |
| Ни фига не понял. Так надо ли в деструкторе вызывать Free для каждого члена класса ? И что будет если я вообще не объявлю деструктор в своем классе ? Просто закоментарю его. |
| Автор: Гость_123 5.8.2004, 10:54 |
| Вызывать надо, только не Фри, а nil(ИМХО) ...................... А будет, очень простая вещь - в памяти может остаца экземпляр класса и при вызове его еще раз могут возникать разные ошибки |
| Автор: Dynamic 5.8.2004, 11:43 | ||||
То же для inherited: ты не знаешь, какие объекты создаются предком твоего класса, соответственно ты должен дать ему возможность самому "почистить" за собой, т.е. вызвать его деструктор. |
| Автор: Girder 5.8.2004, 12:10 | ||
|
| Автор: Guest 5.8.2004, 12:34 |
| Спасиба! |
| Автор: Dynamic 5.8.2004, 12:39 | ||||
Сила привычки |
| Автор: Петрович 5.8.2004, 20:32 | ||||||
Ну тогда уж вместо
Делай:
Проще и красивей |