Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как поймать исключение по несоответствию маске в EditMask? [D5, Paradox]


SunnyTm ©   (2002-09-30 22:33:00) 

Создаю форму для ввода в базу. Для полей базы созданы постоянные поля. Использую MaskEdit. Например, поле для даты. Маска !00.00.00;1; Ввожу дату, делаю ошибку, стирая символ BackSpac"ом.
Нажимаю Tab для перехода в следующее поле и получаю англ.сообщение:
Invalid input value. Use escape key to abandon changes.
Проверила Debugger"ом: исключение EDBEditError, но я
никак не могу его перехватить.
Ловлю в OnExit из этого компонента - перехватывает раньше меня.
try
ME.ValidateEdit;
except
on DBEditError do
...
end;
Пытаюсь поймать в OnKeyUp или OnKeyPress - то же самое.
Знаю, что EditMask имеет метод ValidateEdit.
Так как же надо ловить и где? В форме? В компоненте?

А так же не могу поймать неверную дату (30.02.00).
Как, где и что надо написать?


VAleksey   (2002-10-01 12:30:00) [1]

Application.OnException не пробовал использовать ? И там обработать это исключение.


NP-237   (2002-10-01 09:49:00) [2]

Если маска указана с нулями !00.00.00;
то это значит, что данные в поле НЕОБХОДИМЫ

Я всегда ставлю девятки - !99.99.99;
- поля можно не заполнять - ошибки
Invalid input value. Use escape key to abandon changes
при выходе не будет
А на onExit проверяю правильность значения
и если ошибка - даю сообщение и setfocus


Наверх

Титульная страница Поиск, карта сайта Написать письмо