Bonjour !

je commence par vous donner ce bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  Res := True;
  nb_essai_acces := 1;
  repeat
    if (PasswordDlg.ShowModal = mrCancel) or (nb_essai_acces > 3) then
    begin
      // Decnnexon de la BD si jamais on est connecté
      if IBCConnection1.Connected then IBCConnection1.Connected := False;
      // Sortie du programme principal
      Res := False;
      fmMain.Close;
    end;
 
    IBCConnection1.Username := PasswordDlg.USER;
    IBCConnection1.Password := PasswordDlg.PW;
    try
      IBCConnection1.Connected := True;
      Res := True;
      if not(PasswordDlg.RzCheckBox_Memo.Checked) then
      begin
         PasswordDlg.USER := '';
         PasswordDlg.PW := '';
      end;
 
    except
      on E : EIBCError do
      begin
        fmMain.Timer1.Enabled := False;
        case E.ErrorNumber of
            isc_invalid_user_password : ShowMessage('Mot de passe incorrect');
            isc_network_error : ShowMessage('Erreur sur le réseau');
            isc_lost_db_connection : ShowMessage('Problème de connexion à la BD');
            isc_conn_lost : ShowMessage('Connexion perdue');
        end;
        Res := False;
      end;
    end;
    inc(nb_essai_acces);
  until ((nb_essai_acces > 3) or (Res = True));
  if (nb_essai_acces > 3) then Exit;
comme vous voyez j'ai encapsuler l'appel à la BD dans un try except end .... en passant un mode passe erroné j'ai bien le message ('Mot de passe incorrect') mais
j'ai toujours l'exception géré par Firebird me retournant "your username and password.... " et là je ne parviens pas à comprendre ce qui peut bien laisser le message système remonté malgré qu'il est encapsulé dans un try except end ?!

Merci bien à vous.