Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.03;
Скачать: CL | DM;

Вниз

Free   Найти похожие ветки 

 
Swamp ©   (2002-09-23 17:27) [0]

Как узнать, был ли выполнен метод Free или Destroy у объекта, и в общем случае существует ли объект. Проверка на nil естно не подходит.


 
MBo ©   (2002-09-23 17:31) [1]

надо при Free и обNil-ять.
А проще FreeAndNil делать


 
still swamp ©   (2002-09-23 17:37) [2]

Ну да - понятно, а если скажем я закрываю окошко, а на нем несколько компонент, и нет ничего приятнее как их все нулить. Или еще веселее... ко мне вернулся указатель, бог знает когда зафришенного объекта.


 
qube ©   (2002-09-23 17:43) [3]

Нулить компоненты? Это как и зачем?
Если форма освобождается при закрытии, то не существует уже сама форма.

И откуда может вернуться указатель убитого объекта?


 
Старый Паскалист   (2002-09-23 17:44) [4]

Никак ты в общем случае не проверишь.
Надо проектировать так, чтобы этого не происходило.

В компонентах, например, специально для этих целей придуман механизм оповещения (виртуальный метод Notification). Возможно, тебе стоит копать в этом направлении.


 
still swamp ©   (2002-09-23 17:47) [5]

Достаточно простая ситуация. Формой управляет внешняя форма. Туда переданы некие указатели для связи. Родительская закрыта, управляющая нет, так как она нужна. Вот и проблемка.


 
Старый Паскалист   (2002-09-23 17:52) [6]

Пусть при закрытии родительская форма посылает
специальное сообщение управляющей, а та по нему
обнуляет всех связных указателей


 
still swamp ©   (2002-09-23 17:55) [7]

ой да.... это закат солнца вручную.
легче в try обратиться...
коряво. но что делать.


 
Старый Паскалист   (2002-09-23 18:07) [8]

Да можно и проще:

ТУправляющаяФорма = class(...)
procedure ОчиститьСвязныеУказатели;
end;

ТРодительскаяФорма.РодительскаяФормаDestroy; //OnDestroy;
begin
if FУправляющаяФорма <> nil then
FУправляющаяФорма.ОчиститьСвязныеУказатели;
...
end;


 
still swamp ©   (2002-09-24 09:31) [9]

В общем и целом... способа нет, однако последний предложенный в моем случае разрешил вопрос.



Страницы: 1 вся ветка

Текущий архив: 2002.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.151 c
14-8171
MJH
2002-09-09 18:29
2002.10.03
Большой КУШ по СТС


1-8042
Metotrone
2002-09-22 17:35
2002.10.03
TextFile and String


1-7917
Юрий Зотов
2002-09-23 11:12
2002.10.03
Выгрузка DLL с модально поднятой формой


3-7884
Lexxus
2002-09-13 14:46
2002.10.03
Как получить нормальный текст при доступе к FoxPro через BDE? а


1-7936
kex86
2002-09-22 02:24
2002.10.03
---|Ветка была без названия|---