Форум: "Основная";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c