Bonjour,
J'essaie depuis quelques heures de faire une fiche ID /Mdp pour une connexion à une base de donnée Firebird. Chose classique, mais qui me pose soucis dans le cas ou l'un des deux éléments est faux.
en voci mon code :
Si la paire ID / Password est bon, tout est ok. Par contre, si l'un des deux n'est pas bon, le programme affiche un message et doit redonner la fenêtre pour entrer de nouvelles valeurs.
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
40
41
42 procedure TFPrincipal.OBManuel(Sender: TObject); Var Username, Psw, MessageErreur,erreurCode: String ; Erreur : boolean; E : EIBInterbaseError; begin Erreur:=true; DM.Emploi.Connected:=False; While erreur do begin if FMdp.Showmodal = Mrok then begin username := FMdp.EID.TExt; psw := Fmdp.EPsw.TExt; DM.Emploi.params.Clear; DM.Emploi.params.Add('user_name='+username) ; DM.Emploi.params.Add('password='+psw); try DM.Emploi.connected:=true; Except on Err:EIBInterbaseError do begin erreurcode:=inttostr(Err.IBErrorCode); MessageErreur := Err.Message; ShowMessage(erreurcode +' : '+MessageErreur); Erreur:=True; end; // du If traitement erreur IB end; // du try end; // du premier If FMdp.release; end; // du While ... end;
Le soucis, c'est lors du second affichage de ma fenetre par showmodal qui provoque une erreur Violation d'accès mémoire. Il y a certainement une chose que je n'ai pas vu. Il y a très très très longtemps que je n'ai pas fait de développement, et c'est juste pour lr Fun, mais c'est un peu rageant.
Si une bonne âme pouvait me dire ou je fais erreur, cela serait sympas.
Merci à vous.
P.S. : je suis sur Delphi XE2
Partager