|
||||||||
Миф №14: Obj.Free не приводит к Obj = nil
Время создания: 06.10.2015 10:46
Раздел: Компьютер - Windows - Архитектура Windows - Архитектура памяти в Windows: мифы и легенды
Запись: xintrea/mytetra_syncro/master/base/1444117373eernljxfi4/text.html на raw.github.com
|
||||||||
|
||||||||
Миф №14: Obj.Free не приводит к Obj = nil Если вы работали с объектами, то знаете, что одним из способов удалить объект - это вызывать метод Free, который проверит ссылку объекта и вызовет его деструктор. Правда ли, что после этого ссылка объекта не изменяется и продолжает указывать на бывший объект?
Запустите её - и вы получите сообщение.
Если бы изменения в Self влияли бы на исходное значение, то подобный вызов мог бы создать объект и записать ссылку в O. Но вместо этого мы пишем:
Что означает создание объекта и запись ссылки в переменную.
FreeAndNil освободит объект и присвоит O в nil. Я уже упоминал, что FreeAndNil является самым правильным вариантом освобождения объекта из трёх (вызов деструктора Destroy, вызов прослойки Free и вызов FreeAndNil). |
||||||||
Так же в этом разделе:
|
||||||||
|
||||||||
|