Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие формы при возникновении в ней исключения [XP]


petvv ©   (2011-06-23 07:21:00) 

Есть главная форма при её создании объявляю:
 Application.onException:=HandleException;
...

procedure TfMain.HandleException(Sender: TObject; E: Exception);
var
 EE: EDBEngineError;
begin
 if E is EDBEngineError then
   begin
     ShowError(EE);
   end;
end;

procedure TfMain.ShowError(AExc: EDBEngineError);
begin
 GetErrText(AExc.Errors[AExc.ErrorCount-1].ErrorCode);
 MessageDlg(GetErrText(AExc.Errors[AExc.ErrorCount-1].ErrorCode)+#13#10+
 AExc.Errors[AExc.ErrorCount-1].Message,mtWarning, [mbOK], 0);
end;


На главной форме есть меню из которого запускаются другие формы
При нажатии на меню выполняется следующий код


procedure TfMain.ShowATPClick(Sender: TObject);
begin
 //Выводим форму для просмотра
edKard:=False;
 with TfseATP.Create(Application) do
 try
   //  до появления
   ShowModal;
   //  после закрытия
 finally
   Free;
 end;{try}
end;

На дочерней форме Table, DataSet, Grid, при возникновении исключения на дочерней форме выдаётся сообщение об ошибке, но после нажатия на OK дочерняя форма открывается. Вот собственно вопрос: как сделать чтобы при возникновении исключения на дочерней форме выдавалось сообщение об ошибке, а сама форма не открывалась.


Игорь Шевченко   (2011-06-23 12:33:00) [1]


> Вот собственно вопрос: как сделать чтобы при возникновении
> исключения на дочерней форме выдавалось сообщение об ошибке,
>  а сама форма не открывалась.


RTFM: TCustomForm.HandleCreateException


Плохиш   (2011-06-23 11:33:00) [2]


> Вот собственно вопрос: как сделать чтобы при возникновении
> исключения на дочерней форме выдавалось сообщение об ошибке,
>  а сама форма не открывалась.

Надо обрабатывать исключения и делать требуемые действия. Но для этого программист нужен.


Наверх

Титульная страница Поиск, карта сайта Написать письмо