Вниз
Скачать: CL | DM;

Как компоненту удалить самого себя?   Найти похожие ветки 

← →
афвуд ©   (2003-09-19 19:53) [0]

Проблема такая. У меня есть у формы свойство SelectedComponent.
На каждый компонент формы и на саму форму вешается обработчик на событие OnKeyUp и в этом обработчике если клавиша - это Del? то вызывается метод удаляющий SelectedComponent: и из формы и вообще память освобождает.

Проблема в том, что если метод вызывается из обработчика события именно компонента который у меня SelectedComponent то получается что после отработки метода удаления компонента управление возвращается к обработчику события несуществующего уже компонента. И возникает Exeption.

Фу. Надеюсь понятно обьяснил.


← →
jack128 ©   (2003-09-19 20:11) [1]


> Надеюсь понятно обьяснил.

э-э-э Ну в общем ты понял ;-)

Но может поможет вот это

procedure TForm1.Button2Click(Sender: TObject);
begin
Release;
end;


← →
Романов Р.В. ©   (2003-09-19 22:10) [2]

Есть 2 варианта
1. Компонент посылает сообщение форме через PostMessage в параметрах которого содержится ссылка на него. А форма его удаляет.
Другая вариация по этому методу это занесение ссылки на компонент в переменную или массив и удаление его в обработчике OnIdle.

2. У формы ставится KeyPreview и компонент удаляется из сообщения формы.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
14-4131
Skywalker
2003-09-12 13:59
2003.10.02
Мы не хиппи и не панки...


14-4085
V.exeR
2003-09-15 00:37
2003.10.02
Как поменять сведения в своем profile на этом сайте?


14-4114
-=[SDA]=-
2003-09-12 07:07
2003.10.02
!!! Как вырубить звуковуху !


14-4064
Ru
2003-09-15 16:21
2003.10.02
Energyser


1-3890
levova
2003-09-18 14:06
2003.10.02
Как послать сообщение дочерной форме?




   Наверх