Вниз
Скачать: 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.012 c
8-3995
Rel_
2003-06-05 17:04
2003.10.02
Вращение вокруг точки


14-4105
Knight
2003-09-13 21:06
2003.10.02
& n b s p ; и другие...


3-3787
Дмитрий К.
2003-09-11 13:05
2003.10.02
Синхронный поиск в таблице


14-4108
spROOT13
2003-09-13 17:27
2003.10.02
Продажа программы


11-3810
access_violation
2003-01-21 10:20
2003.10.02
взаимодействие нескольких форм из DLL




   Наверх