Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.47 MB
Время: 0.009 c
3-55429
Endi
2003-06-22 12:58
2003.07.17
Длинный DBCtrlGrid


6-55705
Le!
2003-05-10 08:57
2003.07.17
Файл по e-mail!


3-55388
-=alive=-
2003-06-22 14:29
2003.07.17
Вложенный select


3-55385
oic
2003-06-22 20:28
2003.07.17
Как вставить картинку в БД


3-55439
V-A-V
2003-06-24 14:12
2003.07.17
Progress для AdoQuery





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский