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

Вниз

Глобальный перехват EConvertError...   Найти похожие ветки 

 
botaniQ   (2007-10-11 13:21) [0]

Еще один маленький вопросик
Можно ли перехватить любой EConvertError в программе? и вместо сообщения ""строка" is not a valid integer value." выводить свое..


 
Dib@zol ©   (2007-10-11 13:37) [1]

Можно. Каждый EConvertError"о - опасный код в проге пропиши как try-except секцию.


 
Palladin ©   (2007-10-11 13:39) [2]

TApplicationEvents.OnException


 
Германн ©   (2007-10-11 13:48) [3]


> Еще один маленький вопросик

Ничего себе маленький. Или ты думаешь что ""строка" is not a valid integer value" - это единственная причина сего исключения?


 
botaniQ   (2007-10-11 13:50) [4]


> Dib@zol ©   (11.10.07 13:37) [1]
> Можно. Каждый EConvertError"о - опасный код в проге пропиши
> как try-except секцию.


Да можно...но это долго - либо можно просто процедурку организовать - но это тоже не быстро подставлять ее везде.....а сроки горят


> Palladin ©   (11.10.07 13:39) [2]
> TApplicationEvents.OnException


Вот это хороший вариант! Спасибо! Сделал так:

procedure TMainForm.FormCreate(Sender: TObject);
begin
 ...
 Application.OnException:=ProgExcept;
 ...
end;

procedure TMainForm.ProgExcept(Sender: TObject; Err: Exception);
begin
 If Err is EConvertError then
   MessageDlg("Convert ошибся!", mtError, [mbOk], 0);
 ...
end;

Всё чудесно работает...Всем спасибо!!


 
botaniQ   (2007-10-11 13:52) [5]


>
> > Еще один маленький вопросик
>
> Ничего себе маленький. Или ты думаешь что ""строка" is not
> a valid integer value" - это единственная причина сего исключения?
>


Да это может сработать, например, и при DateToStr ()! Но у меня в проге других "конвертерных" ф-ций, кроме StrToInt не используется.... :)


 
botaniQ   (2007-10-11 13:55) [6]


> botaniQ   (11.10.07 13:52) [5]


> ...например, и при DateToStr ()!...


Т. е. при StrToDate () :)


 
Ega23 ©   (2007-10-11 14:04) [7]


> роме StrToInt не


Delphi какой?


 
botaniQ   (2007-10-11 14:24) [8]


> Ega23 ©   (11.10.07 14:04) [7]
>
> > роме StrToInt не
>
>
> Delphi какой?


7ой


 
Ega23 ©   (2007-10-11 14:35) [9]


> botaniQ   (11.10.07 14:24) [8]


Замени по всему проекту StrToInt на TryStrToInt


 
botaniQ   (2007-10-11 14:53) [10]


> Ega23 ©   (11.10.07 14:35) [9]
>
> > botaniQ   (11.10.07 14:24) [8]
>
>
> Замени по всему проекту StrToInt на TryStrToInt


Ух ты!!! Полезная ф-ция...я даже не знал про такую....Спасибо!


 
Ega23 ©   (2007-10-11 15:01) [11]

Незачто.
Однако ты таки загляни внутрь её, посмотри как она устроена.


 
Leonid Troyanovsky ©   (2007-10-11 15:53) [12]


> botaniQ   (11.10.07 13:21)  

> вместо сообщения ""строка" is not a valid integer value.
> " выводить свое..

Глобально это решается локализацией (проекта), и,
в частности, ресурсной строки SysConst_SInvalidInteger

--
Regards, LVT.


 
evvcom ©   (2007-10-11 16:12) [13]


> Замени по всему проекту StrToInt на TryStrToInt

Этого маловато. Надо ж еще результат обработать и, возможно, сказать, что "бестолковый конвертер ошибся" (c) botaniQ   (11.10.07 13:50) [4] :)


 
Amoeba ©   (2007-10-11 17:24) [14]


> Глобально это решается локализацией (проекта), и,
> в частности, ресурсной строки SysConst_SInvalidInteger
>

Готовые файлы здесь: http://polesoft.narod.ru/



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
4-1177771250
webpauk
2007-04-28 18:40
2007.11.04
добавление пункта в контекстное мен. проводника


15-1190816741
hinst
2007-09-26 18:25
2007.11.04
Elf off


15-1191393493
Lex_!
2007-10-03 10:38
2007.11.04
Использование .NET 3.x


11-1172659990
Trible
2007-02-28 13:53
2007.11.04
TmdwDBF создание файла


3-1183014419
azamatufa
2007-06-28 11:06
2007.11.04
ADO SQL SUM(Field) - ошибка в IDE Access violation ... 1B041FC6