Вниз
Скачать: 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.02 c
1-3941
Александр из Минска
2003-09-17 23:19
2003.10.02
Удаление файлов в <B>Windows NT</B>


1-3834
Starkom
2003-09-19 13:55
2003.10.02
вопрос о странном глюке стандартных цветовых констант


3-3707
eds
2003-09-10 18:23
2003.10.02
Какой формат выбрать?


3-3705
Юлия
2003-09-14 22:53
2003.10.02
Вопрос по installshield


3-3772
stud
2003-09-11 14:56
2003.10.02
можно ли каким-нибудь образом через бде работать




   Наверх