|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.03.2018, 22:53 | #1 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Проверить существование объекта [продолжение]
Поскольку, предыдущая моя тема http://www.programmersforum.ru/showthread.php?t=317885 была закрыта по непонятныи причинам, а в причине была рекомендация создать новую, я решил создать продолжение и продолжит разговор о том, как же всё таки проверить существование объекта после удаления.
Сделал пример для наглядности в виде консоли Код:
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
06.03.2018, 23:39 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Закрыта была по причине начавшегося выяснения отношений. А исключение если и не возникает, то по другой причине - память выделенная под объект не очищается и мгновенно не выделяется под другие цели
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.03.2018, 00:19 | #3 |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Просто, некоторые пользователи воспринимают примеры кода, как личное оскорбление. Последствия: оскорбления и переход на личности. Еще, обозвали меня "говнокодером" :-) Возможно, кто-то на моем месте обиделся бы. Но я не смог удержаться, чтобы не заржать, простите Выяснять с кем-то отношения на техническом форуме у меня и в мыслях не было. Но за то, что кто-то здесь обижается на код О_о я ответственность не могу нести :-)
То есть, объект работает после удаления и все его поля, свойства и методы остаются по прежнему доступными или я чего-то не понял?
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
07.03.2018, 00:28 | #4 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
"за ХХХ надо отрубать руки" не обязательно воспринимать буквально или как оскорбление ) Это скорее просто замечание о том, что не надо так делать. поведение при доступе к удаленному объекту вряд ли гарантировано. Может быть так сложились звезды, что тот кусок памяти еще не перезаписан ничем.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
07.03.2018, 00:48 | #5 | ||
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Цитата:
Цитата:
М-да, странное поведение, при всём уважении к языку программирования Делфи.
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
Последний раз редактировалось cyberdev; 07.03.2018 в 00:51. |
||
07.03.2018, 01:23 | #6 | ||
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
Вы ж не говнокодер? Цитата:
Продвинутые не говнокодеры обычно присваивают null указателю после удаления ) В Дельфи есть FreeAndNil.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
||
07.03.2018, 01:46 | #7 | ||
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Цитата:
Цитата:
Да и хватит об этих нехороших кодерах, а то сюда уже чувствую запах
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
Последний раз редактировалось cyberdev; 07.03.2018 в 01:55. |
||
07.03.2018, 02:06 | #8 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
все любые проверки будут надеятся на то что все указатели ведут куда либо. память может быть все еще валидна, но вот данные по ней нет. потому вы сами себя должны обезопасить, иначе ССЗБ. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
07.03.2018, 02:12 | #9 | |
Форумчанин
Регистрация: 10.10.2013
Сообщений: 150
|
Цитата:
Код:
Код:
Сайт о программировании и трехмерной графике - cybersite.ucoz.net
|
|
07.03.2018, 03:11 | #10 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
2 cyberdev.
Вы затронули весьма и очень сложный вопрос. И не надо пенять на Дельфи. То же самое у вас возникло бы при использовании любого другого языка программирования. Вам бы не помешало понять саму суть AV. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверить существование объекта | cyberdev | Общие вопросы Delphi | 23 | 06.03.2018 19:56 |
JSON проверить существование значения | Dozent | Общие вопросы Delphi | 2 | 07.04.2015 18:16 |
Проверить существование значения в TStringList | Shouldercannon | Общие вопросы Delphi | 4 | 20.01.2013 15:03 |
Проверить существование папки | Stepan575 | Visual C++ | 4 | 17.12.2010 19:02 |