![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с EDBEditError :(((
KidMan © (2002-10-01 23:47:00)Здравствуйте!
Подскажите пожалуйста как перехватить сообщение
ошибки при работе с MaskEdit - DBEditError ?
Ощибка DBConvertError мной прехватывается нормально...
(в TRY-EXCEPT) она происходит когда пытаешься записать
пустое значение MaskEdit... А вот когда стоит просто
написать одну цифру или неверную дату то наступает
это сообщение DBEditError... которая никак не хочет
ловиться и соответственно появляется противное сообщение
дельфей... ((
Заранее всех благодарю...
KidMan (2002-10-06 23:07:00) [1]Честно говоря... не нравится мне этот компонент... Ясно становится что за тебя уже кто то поработал... А вот вытаскивать что то новоеиз созданного другим... это уже интереснее... Как в случае маскедит например... ))
Спасибо за совет... завтра попробую... и доложу (улыбается)
TTCustomDelphiMaster (2002-10-06 16:43:00) [2]Действительно не заработает. Извеняюсь, я невнимательно прочитал Ваше сообщение от (01.10.02 23:47). Вам нужно написать потомка TMaskEdit и затереть функцию проверки введенного текста.
type
TMyMaskEdit = class(TMaskEdit)
procedure ValidateEdit; override;
end;
procedure TMyMaskEdit.ValidateEdit;
begin
end;
PS: А почему бы Вам не использовать TDateTimePicker?
KidMan (2002-10-05 12:38:00) [3]От слов к практике вы говорите? Я попробовал... но не заработало однако... ((
У вас есть еще идеи? Я бы с удовольствие выслушал Вас...
Заранее благодарю...
TTCustomDelphiMaster (2002-10-05 00:35:00) [4]Вы будете рассуждать или проверите на практике, Уважаемый!!!
KidMan (2002-10-05 00:25:00) [5]Сорри но эта функция никак не влияет (смеется когда вспоминает о том что сказал что не знаю о такой функции) Конечо же знал... просто ламернулся по вниманию... и никак не может влиять на исключительную ситуацию возбуждаемую Exception (откровенно смеется) Это просто функция приведения типов...
Вы что то там попутали Уважаемый! ;)) Или может быть вы не знаете что такое понятие исключительной ситуации?? ;))
KidMan (2002-10-05 00:14:00) [6]Спасибо за совет...!
об этой функции я не знал... Попробую однако....
TTCustomDelphiMaster (2002-10-04 23:31:00) [7]А что, трудно проверить значение перед записью?
try
strtodate(MaskEdit1.Text);
Table1.Insert;
Table1.FieldByName("DATAISPOL").Value := MaskEdit1.Text;
Table1.Post;
except
end;
И все. Любые недопустимые значения не будут записываться в базу.
KidMan (2002-10-04 22:59:00) [8]Уважаемый Гек... мне не ужно перехватывать все ошибки одним except ... в таком случае я мог бы использовать свойство Application.OnException и класс TGlobalExHandler в файле проекта...
Меня это не устраивает потому как в моей программе может быть масса других исключительных ситуаций... Способ представленный вами будет "глушить" все остальные ситуации возникающие в программе... Я уже не говорю об искусственном способе вызова исключительной ситуации rise
Можете что нибудь еще посоветовать?
Заранее благодарю!
gek (2002-10-04 11:26:00) [9]Ну так сделай все ошибки перехватит
try
.............
except
on E:Exception do
begin
................
end;
KidMan (2002-10-04 11:18:00) [10]Плизззз....
KidMan (2002-10-03 23:59:00) [11]Ну хоть кто нибудь! Горю!
KidMan (2002-10-03 22:16:00) [12]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. " и так далее
Заранее благодарю!
Mike Kouzmine (2002-10-02 18:39:00) [13]А исключение возбуждается в этой же секции?
KidMan (2002-10-02 17:57:00) [14]Ребят... неужели так и не можете подсказать???