|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
06.03.2018, 01:16 | #1 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Проверить существование объекта
Известно, что в Делфи все объекты представлены как указатели. Поэтому, если объявить объект и создать его с помощью конструктора, а затем выгрузить с помощью метода Free, то оставшийся указатель будет указывать на адрес несуществующего объекта (конечно, если дополнительно не поставить его в nil, после удаления). Последующее обращение к объекту вызовет AV и программа не сможет продолжить работу. Как проверить, действительно ли удален объект, после вызова метода Free?
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
06.03.2018, 07:20 | #2 |
Форумчанин
Регистрация: 27.04.2012
Сообщений: 219
|
После Free или FreeAndNil объект будет действительно удален.
Код:
ReportMemoryLeaksOnShutdown := True;
Пишу много и развернуто
|
06.03.2018, 08:24 | #3 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Писать код, внутри которого понадобится такая проверка - это, имхо, говнокодинг.
Но формально, для локальных объектов, в FreeAndNil() нет смысла. Код:
Доклад окончил.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
06.03.2018, 14:03 | #4 | |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Цитата:
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
|
06.03.2018, 14:08 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
06.03.2018, 14:14 | #6 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Это включает отображение отчета об утечках памяти. То есть, наоборот, когда указателей нет, а сами объекты остались. Либо и то и другое.
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
06.03.2018, 14:29 | #7 | |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Цитата:
P.S.: Тем, кто не понял вопрос: не пишите о FreeAndNil, Free и об установке объекта в nil. Вопрос заключается не в этом!
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
|
06.03.2018, 15:03 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
06.03.2018, 15:06 | #9 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Категорически согласен.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
06.03.2018, 15:34 | #10 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Вот я и хочу понять как правильно писать программы на Делфи, при том, что за сторонних разработчиков я ответственности не несу :-)
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
JSON проверить существование значения | Dozent | Общие вопросы Delphi | 2 | 07.04.2015 18:16 |
Проверить существование файла на сервере | Wicort | JavaScript, Ajax | 8 | 04.05.2012 23:16 |
Проверить существование папки | Stepan575 | Visual C++ | 4 | 17.12.2010 19:02 |
Проверить существование поля в JavaScript | Wicort | JavaScript, Ajax | 2 | 06.10.2009 18:13 |