| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Ошибка при уничтожении объекта |
| Автор: Keeper89 3.2.2010, 17:55 | ||||||
| Доброго времени суток. Создаю класс:
При уничтожении выдается ошибка:
Что я делаю неправильно? |
| Автор: Qu1nt 3.2.2010, 20:30 |
| FreeAndNil(myFunction);. |
| Автор: Keeper89 3.2.2010, 21:45 |
| Qu1nt, тоже самое. |
| Автор: Shaggy 3.2.2010, 22:27 |
| Hint: TObjectList<T: class> = class(TList<T>) ... constructor Create(AOwnsObjects: Boolean = True); overload; & FreeAndNil(myFunction); |
| Автор: shmelina 6.2.2010, 23:06 | ||
В своем коде ты удаляешь и очищаешь локальную переменную:
Но в объекте TProblem в поле-списке Functions по прежнему храниться ссылка на тот объект. Вернее на мусор от него. И соответственно при попытке удалить Functions ты получаешь ошибку. TObjectList при удалении удаляет все классы которые в нем находятся. Тебе не нужно удалять FreeAndNil(myFunction), при удалении Problem этот объект удалиться. |
| Автор: Keeper89 6.2.2010, 23:59 |
| ОК, всем спасибо, разобрался. |