Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.21;
Скачать: CL | DM;

Вниз

Событие TField.OnSetText   Найти похожие ветки 

 
sergey   (2010-08-27 12:46) [0]

Всем привет!

в TField.OnSetText:

     try
       StrToCurr(Text);
       Sender.Value := Text;
     except
       on e: EConvertError do
         begin
           raise Exception.Create("Ââåäåíî íåäîïóñòèìîå çíà÷åíèå")
         end;
     end;

при возникновении исключения событие возникает два раза, соотв и окошко с сообщением дублируется. Если написать Field.DataSet.Cancel, в гриде останется предыдущее значение.
 Как сделать так, чтобы ошибка не показавылась два раза и возвращать грид(и остальное) в состояние, предшествующее потери фокуса колонкой грида?


 
Anatoly Podgoretsky ©   (2010-08-27 12:55) [1]

> sergey  (27.08.2010 12:46:00)  [0]

Строчки местами поменяй, и в конце концов raise это возбудить исключение еще
раз.


 
sergey   (2010-08-27 13:02) [2]


> Anatoly Podgoretsky ©   (27.08.10 12:55) [1]

Какие строчки?
Если эти:
      StrToCurr(Text);
      Sender.Value := Text;
, то какая разница?


 
И. Павел ©   (2010-08-27 13:05) [3]

> при возникновении исключения событие возникает два раза,
> соотв и окошко с сообщением дублируется.

Наверное, можно просто отключить обработчик перед Sender.Value:=... . А в finally включить.


 
sergey   (2010-08-27 13:50) [4]


> И. Павел ©   (27.08.10 13:05) [3]

Не помогает(



Страницы: 1 вся ветка

Текущий архив: 2010.11.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
15-1281454327
pasha_golub
2010-08-10 19:32
2010.11.21
Курсы валют центробанка Украины


9-1188140713
AlexanderMS
2007-08-26 19:05
2010.11.21
Игра - на весь экран.


2-1282718003
12
2010-08-25 10:33
2010.11.21
Как выбрать TTreeNode? Аналогично, если по нему кликнули мышкой


6-1228895639
Calligraff
2008-12-10 10:53
2010.11.21
Передача типов через TClientsData


15-1281528325
@!!ex
2010-08-11 16:05
2010.11.21
Простая программа для обновления установленного ПО