Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Вниз

Проблема с EDBEditError :(((   Найти похожие ветки 

 
KidMan   (2002-10-01 23:47) [0]

Здравствуйте!
Подскажите пожалуйста как перехватить сообщение
ошибки при работе с MaskEdit - DBEditError ?
Ощибка DBConvertError мной прехватывается нормально...
(в TRY-EXCEPT) она происходит когда пытаешься записать
пустое значение MaskEdit... А вот когда стоит просто
написать одну цифру или неверную дату то наступает
это сообщение DBEditError... которая никак не хочет
ловиться и соответственно появляется противное сообщение
дельфей... ((

Заранее всех благодарю...


 
KidMan   (2002-10-02 17:57) [1]

Ребят... неужели так и не можете подсказать???


 
Mike Kouzmine   (2002-10-02 18:39) [2]

А исключение возбуждается в этой же секции?


 
KidMan   (2002-10-03 22:16) [3]

procedure TForm1.Button1Click(Sender: TObject);
begin
TRY
Table1.Insert;
Table1.FieldByName("DATAISPOL").Value := MaskEdit1.Text;
Table1.Post;
EXCEPT
On E: EDBEditError do
ShowMessage("EDBEditError");
On E: EDatabaseError do
ShowMessage("EDatabaseError");
END;
end;


Вот такой вот небольшой код TRY-EXCEPT перехватывает событие EDatabaseError когда пытаешься записать в базу пустое значение MaskEdit1 или когда введена неправильная
дата типа 33.44.02
А вот когда в поле значение типа 01. . то выходит сообщение

"Project (имя проекта) rised exception class EDBEditError with
message "Invalid input value. " и так далее

Заранее благодарю!


 
KidMan   (2002-10-03 23:59) [4]

Ну хоть кто нибудь! Горю!


 
KidMan   (2002-10-04 11:18) [5]

Плизззз....


 
gek   (2002-10-04 11:26) [6]

Ну так сделай все ошибки перехватит
try
.............
except
on E:Exception do
begin
................
end;


 
KidMan   (2002-10-04 22:59) [7]

Уважаемый Гек... мне не ужно перехватывать все ошибки одним except ... в таком случае я мог бы использовать свойство Application.OnException и класс TGlobalExHandler в файле проекта...
Меня это не устраивает потому как в моей программе может быть масса других исключительных ситуаций... Способ представленный вами будет "глушить" все остальные ситуации возникающие в программе... Я уже не говорю об искусственном способе вызова исключительной ситуации rise

Можете что нибудь еще посоветовать?

Заранее благодарю!


 
TTCustomDelphiMaster   (2002-10-04 23:31) [8]

А что, трудно проверить значение перед записью?

try
strtodate(MaskEdit1.Text);
Table1.Insert;
Table1.FieldByName("DATAISPOL").Value := MaskEdit1.Text;
Table1.Post;
except
end;

И все. Любые недопустимые значения не будут записываться в базу.


 
KidMan   (2002-10-05 00:14) [9]

Спасибо за совет...!
об этой функции я не знал... Попробую однако....


 
KidMan   (2002-10-05 00:25) [10]

Сорри но эта функция никак не влияет (смеется когда вспоминает о том что сказал что не знаю о такой функции) Конечо же знал... просто ламернулся по вниманию... и никак не может влиять на исключительную ситуацию возбуждаемую Exception (откровенно смеется) Это просто функция приведения типов...
Вы что то там попутали Уважаемый! ;)) Или может быть вы не знаете что такое понятие исключительной ситуации?? ;))


 
TTCustomDelphiMaster   (2002-10-05 00:35) [11]

Вы будете рассуждать или проверите на практике, Уважаемый!!!


 
KidMan   (2002-10-05 12:38) [12]

От слов к практике вы говорите? Я попробовал... но не заработало однако... ((
У вас есть еще идеи? Я бы с удовольствие выслушал Вас...

Заранее благодарю...


 
TTCustomDelphiMaster   (2002-10-06 16:43) [13]

Действительно не заработает. Извеняюсь, я невнимательно прочитал Ваше сообщение от (01.10.02 23:47). Вам нужно написать потомка TMaskEdit и затереть функцию проверки введенного текста.

type
TMyMaskEdit = class(TMaskEdit)
procedure ValidateEdit; override;
end;

procedure TMyMaskEdit.ValidateEdit;
begin
end;

PS: А почему бы Вам не использовать TDateTimePicker?


 
KidMan   (2002-10-06 23:07) [14]

Честно говоря... не нравится мне этот компонент... Ясно становится что за тебя уже кто то поработал... А вот вытаскивать что то новоеиз созданного другим... это уже интереснее... Как в случае маскедит например... ))

Спасибо за совет... завтра попробую... и доложу (улыбается)



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

Форум: "Основная";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
1-56045
Осирис
2002-10-07 17:17
2002.10.17
Спрятать TaskBar


14-56268
Shadow
2002-09-22 18:59
2002.10.17
Хмммм............


1-56220
^Sanya
2002-10-07 15:25
2002.10.17
XOR-алгоритм шифрования


1-56064
Mister-D
2002-10-08 12:56
2002.10.17
Графическое представление химических формул


14-56278
Undert
2002-09-20 23:21
2002.10.17
Владельцам сайтов на Народе.ру посвящается ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский