Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
ВнизКак в MaskEdit обработать исключение EDBEditError??? Найти похожие ветки
← →
Mishenka (2003-06-30 21:33) [0]Нужно, чтобы при неправильном вводе вместо стандартного сообщения об ошибке выводилось моё.
В каком событии надо обрабатывать EDBEditError?
Я написал в событии MaskEdit1Exit, не пашет.
← →
Романов Р.В. (2003-06-30 22:06) [1]Обрабатывай TApplication.OnException или пиши потомка
← →
Mishenka (2003-07-01 16:46) [2]А можно поподробней....
← →
Романов Р.В. (2003-07-01 20:39) [3]Можно. Задавай вопросы что непонятно. Лекцию писать некогда.
← →
Mishenka (2003-07-01 23:11) [4]Что такое TApplication.OnException, и когда оно возникает?
← →
Романов Р.В. (2003-07-01 23:34) [5]TApplication.OnException
Occurs when an unhandled exception occurs in the application.
type TExceptionEvent = procedure (Sender: TObject; E: Exception) of object;
property OnException: TExceptionEvent;
Description
Use OnException to change the default behavior that occurs when an exception is not handled by application code. The OnException event handler is called automatically in the HandleException method.
OnException only handles exceptions that occur during message processing. Exceptions that occur before or after the execution of the application’s Run method do not generate OnException events.
If an exception passes through the try blocks in the application code, the application automatically calls the HandleException method. Unless the exception object is EAbort, HandleException calls the OnException handler, if one exists. Otherwise, it calls ShowException to display a message box indicating an error occurred.
TExceptionEvent is the type of the OnException event. It points to a method that handles exceptions in the application. The Sender parameter is the object that raised the exception, and E is the exception object.
In addition to displaying the exception message, which happens by default, the following code shuts down the application when a VCL exception is not caught and handled.
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;
end;
procedure TForm1.AppException(Sender: TObject; E: Exception);
begin
Application.ShowException(E);
Application.Terminate;
end;
см. так же TApplicationEvents и его событие OnException
← →
Mishenka (2003-07-02 19:53) [6]Блин тут всё на ихнем буржуйском языке. Ну в общих чертах вроде понятно.
Только вот:
try
except
on EDBEditError do вывод сообщения;
end;
Что ставить между try и except?
← →
Skier (2003-07-02 20:01) [7]
> Что ставить между try и except?
Код, который может привести к возбуждению исключения.
← →
Юрий Зотов (2003-07-02 20:13) [8]В DB-приложениях лучше привязываться к самим данным, а не к отбражающим их контролам. У DataSet"ов есть события OnBeforeXXX и OnAfterXXX, у полей есть OnValidate и т.д. Вот там и проверяйте правильность ввода.
← →
Романов Р.В. (2003-07-02 22:07) [9]try except не поможет.
Самый простой код обработки этого исключения выглядит так
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
if E is EDBEditError then
ShowMessage("Введите правильный параметр");
end;
← →
Mishenka (2003-07-03 01:23) [10]Я написал:
procedure TForm9.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;
end;
procedure TForm9.AppException(Sender: TObject;
E: Exception);
begin
if E is EDBEditError then Вывод сообщения;
end;
Но исключение не обрабатывается, выводится стандартное сообщение. В чё не так?
← →
BorisUK (2003-07-03 07:26) [11]Подозреваю что TForm9 - не есть у тебя главное окно приложения...
Application.OnException := AppException;
Делай на создание главного окна...
может поможет :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c