Привет всем.
Используется BCB5.
Как корректно удалять элемент управления во время обработки его события?
Меня терзают смутные воспоминания — давным давно я пару раз читал, что так делать нельзя, но хоть убей не помню, как же тогда можно
![](/Forum/Images/smile.gif)
И самое обидное никакой информации по этому поводу найти не получается
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Привет всем.
КД>Используется BCB5.
КД>Как корректно удалять элемент управления во время обработки его события?
КД>Меня терзают смутные воспоминания — давным давно я пару раз читал, что так делать нельзя, но хоть убей не помню, как же тогда можно
И самое обидное никакой информации по этому поводу найти не получается
Максимум, что можно сделать в обработчике — это либо как-то пометить контрол (на удаление мол), либо послать PostMessage форме или владельцу контрола с запросом на уничтожение.
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Как корректно удалять элемент управления во время обработки его события?
Господа, я поражен скоростью ответов
![](/Forum/Images/smile.gif)
Вообщем я уже понял, что в общем случае — никак.
Я нашел что меня спасет —
CM_RELEASE. У меня контрол — это другая форма. Вызываем метод
TCustomForm.Release, который пошлет самой форме CM_RELEASE. А обработчик этого сообщения —
CMRelease форму грохнет.
Вот. Всем спасибо
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте, Коваленко Дмитрий, Вы писали:
КД>Я нашел что меня спасет — CM_RELEASE.
В этом случае Вам придется гарантировать, что до выхода из обработчика события никогда и ни при каких обстоятельствах не будет вызван Application.ProcessMessages или что-нибудь аналогичное.
http://softwarer.ru/memory.html#OtherVCL1
Здравствуйте, Softwarer, Вы писали:
КД>>Я нашел что меня спасет — CM_RELEASE.
S>В этом случае Вам придется гарантировать, что до выхода из обработчика события никогда и ни при каких обстоятельствах не будет вызван Application.ProcessMessages или что-нибудь аналогичное.
По нашей жизни ничего нельзя гарантировать... (тут я задумался) ... Мда, как хрупок наш мир
![](/Forum/Images/smile.gif)
Спасибо, приму на заметку.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --