Topic: Обработчик ошибки

перестал работать обработчик ошибки

function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
var
ini : TInifile;
begin
    ini :=TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
    // если не подключен, для MySQL
    if Pos('Code: 10061', Msg)>0 then
    begin
        result := True; // для предотвращения системного сообщения
        // сообщение
      if IDRETRY = MessageBox(mess1, mess2, MB_RETRYCANCEL+MB_ICONINFORMATION)then begin
      frmLogin.Close;
      OpenFile('start.bat')
      end else
      ini.WriteString('Options', 'DBMS', 'sqlite');
      frmLogin.Close;
      OpenFile('start.bat')
    end;
end

Re: Обработчик ошибки

Проверил, работает.


Возможно MySQL изменил сообщение об ошибке, проверить это можно так

function OnSQLException(Sender: TObject; Msg: string; SQL: string): boolean;
var
ini : TInifile;
begin
    result := true;
    ShowMessage(Msg);

    ini :=TIniFile.Create(ExtractFilePath (ParamStr (0))+'settings.ini');
    // если не подключен, для MySQL
    if Pos('Code: 10061', Msg)>0 then
    begin
        result := True; // для предотвращения системного сообщения
        // сообщение
      if IDRETRY = MessageBox(mess1, mess2, MB_RETRYCANCEL+MB_ICONINFORMATION)then begin
      frmLogin.Close;
      OpenFile('start.bat')
      end else
      ini.WriteString('Options', 'DBMS', 'sqlite');
      frmLogin.Close;
      OpenFile('start.bat')
    end;
end;
Dmitry.

Re: Обработчик ошибки

Да, точно

if Pos('Connection is not connected', Msg) then

Спасибо!