Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно удалить кнопку из её обработчика? [D7, WinXP]


Destroyer ©   (2005-07-18 15:18:00) 

Надо удалить кнопку из её же обработчика. Т.е. нажимаем на неё и она удаляется. Но эта кнопка была создана динамически и после её удаления надо изменить длину массива в котором она находится.

RecButOnPan=record
But:array of TSpeedButton;
end;

var
ButOnPan   : array of RecButOnPan;
openedpan  : integer;
nbOnPan    : integer;
begin
...
ButOnPan[openedpan].But[nbOnPan].Destroy;
setlength(ButOnPan[openedpan].But,nbOnPan);
...
end;
Проблема в том, что, по моему, после Destroy уже ничего выполнять в обработчике этой кнопки нельзя. Как правильно удалить эту кнопку?


Destroyer   (2005-07-18 16:11:00) [1]

Спасибо.


granni   (2005-07-18 15:29:00) [2]

Когда у меня была такая проблема, я просто в обработчике события устанавливал некоторый флаг, который проверял уже после работы обработчика


jack128   (2005-07-18 15:28:00) [3]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1121085218&n=0


Наверх

Титульная страница Поиск, карта сайта Написать письмо