Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение наличие события 
:(
    Опции темы
SpaceIQ
  Дата 2.7.2009, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 2.7.2009

Репутация: нет
Всего: нет



Приветствую!

У меня есть класс для валидации введенных пользователем данных. В один из методов класса происходит передача виджета как TWidgetControl и некоторых параметров, отвечающих за его валидацию.

Я выполняю runtime валидацию, то есть, сразу после окончания ввода происходит валидация данных. Для этого необходимо переопределение события OnChange. Я его переопределяю, но как это делается сейчас, мне не нравится.

Дело в том, что я вначале определяю класс виджета, а потом устанавливаю OnChange, то есть:

Код

if MyWidget is TEdit then
  TEdit( MyWidget ).OnChange := MyChecker;


Но есть еще и TComboBox, TListBox и т.д. + мои собственные виджеты. Мне приходиться перечислять их все, а так же ссылать на них в секции Uses.

Вопрос такой: можно ли определить у виджета наличие события без приведения к типу и установить? Ну или как-то сделать, чтобы не приходилось перечислять все виджеты, которые  только могут быть?
PM MAIL   Вверх
Rennigth
Дата 2.7.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



SpaceIQ, с помощью методов из TypInfo можно сделать. Я когда-то делал подобное(перехватывал все события OnChage на форме), но что-то исходник найти не могу :( может завтра... 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
MetalFan
Дата 3.7.2009, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



GetPropInfo + SetMethodProp из TypInfo я думаю помогут


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
SpaceIQ
Дата 4.7.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 2.7.2009

Репутация: нет
Всего: нет



Да, именно так все сделал. Не знал, что есть такой модуль. Спасибо!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.