Topic: Назначение действий при ошибках
Как можно назначить выполнение определённых действий при ошибках, возникающих во время работы программы?
Например, если вход/выход пользователей записывается в базу, то при возникновении ошибки записи в БД (I/O error) программа не завершает работу.
Как можно предоставить пользователю выбор: вернуться в программу и позже повторить выход или выйти из программы без записи действия в БД?
код кнопки выхода
procedure frmMain_btnExit_OnClick (Sender: string; var Cancel: boolean);
begin
if MessageDlg('Ви дійсно бажаєте вийти з програми?',mtConfirmation,mbYes+mbNo,0)<>mrNo then
frmMain.Close;
end;
код записи в лог
procedure frmMain_OnClose (Sender: string; Action: string);
var
sCurrentUser: string;
sCurrentDate: string;
begin
sCurrentUser := '"' + sUser + '"';
sCurrentDate := '"' + FormatDateTime('yyyy-MM-DD hh:mm:ss.000', now) + '"';
SQLExecute ('INSERT INTO inoutlog (user, action, date) VALUES ('+ sCurrentUser +',"вихід",'+ sCurrentDate +');');
end;