| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Определение наличие события |
| Автор: SpaceIQ 2.7.2009, 16:47 | ||
| Приветствую! У меня есть класс для валидации введенных пользователем данных. В один из методов класса происходит передача виджета как TWidgetControl и некоторых параметров, отвечающих за его валидацию. Я выполняю runtime валидацию, то есть, сразу после окончания ввода происходит валидация данных. Для этого необходимо переопределение события OnChange. Я его переопределяю, но как это делается сейчас, мне не нравится. Дело в том, что я вначале определяю класс виджета, а потом устанавливаю OnChange, то есть:
Но есть еще и TComboBox, TListBox и т.д. + мои собственные виджеты. Мне приходиться перечислять их все, а так же ссылать на них в секции Uses. Вопрос такой: можно ли определить у виджета наличие события без приведения к типу и установить? Ну или как-то сделать, чтобы не приходилось перечислять все виджеты, которые только могут быть? |
| Автор: Rennigth 2.7.2009, 17:19 |
| SpaceIQ, с помощью методов из TypInfo можно сделать. Я когда-то делал подобное(перехватывал все события OnChage на форме), но что-то исходник найти не могу :( может завтра... |
| Автор: MetalFan 3.7.2009, 12:06 |
| GetPropInfo + SetMethodProp из TypInfo я думаю помогут |
| Автор: SpaceIQ 4.7.2009, 15:21 |
| Да, именно так все сделал. Не знал, что есть такой модуль. Спасибо! |