Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2018, 17:01   #41
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Создается ссылка в одной кнопке, удаляется в другой, ссылка на объект - поле класса формы , как проверить есть ли уже созданный объект или нет, есть ли что удалять?
Это ни о чем и проще всего проверить - у WinControl есть свойство Controls, у Component - свойство Components. Там уж точно не будет объекта после free
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.03.2018 в 17:03.
Аватар вне форума Ответить с цитированием
Старый 11.03.2018, 18:09   #42
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

А если компонент не во владении? И вообще объект не TControl ?
И это не говоря уже о не нужном переборе.

Последний раз редактировалось Avazart; 11.03.2018 в 18:11.
Avazart вне форума Ответить с цитированием
Старый 12.03.2018, 01:31   #43
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от Avazart Посмотреть сообщение
Создается ссылка в одной кнопке, удаляется в другой, ссылка на объект - поле класса формы , как проверить есть ли уже созданный объект или нет, есть ли что удалять?
Ясное дело дело можно блокировать доступность кнопок, но не всегда так можно.

Кроме того есть объекты которые удаляют сами себя, например TThread и тут полезно в обработчике OnTerminate обнулить ссылку.
Я конечно понимаю, что идеология ООП позволяет любому объекту быть самодостаточным. Но алгоритм программы (имхо, конечно) не должен допускать полной анархии.
Что касается "например TThread", то опять же. Если этот компонент в программе один, то почему программе не сообщить, что он уничтожился именно в момент его уничтожения? Если их несколько, то почему бы не использовать TThreadList?
northener вне форума Ответить с цитированием
Старый 12.03.2018, 01:38   #44
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

А уж если решились согласиться на полную анархию, то (опять же имхо) не стоит использовать внешние переменные-ссылки, про которые сам объект ничего не знает, да и не обязан знать.
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить существование объекта 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