Delphi 6 perso....
salut, j'ai beau retourner mon petit programme simplicime en long en large et en travers, mais ca marche PO.... Et ca plante a des endroits vraiment bizarre... là ou il ne devrais pas avoir de PB... , j'ai lu que delphi gere mal les sous programme C, j'ai SETACL.ocx d'installé, est ce que ca viendrais des string, et de leurs mauvaise manipulation ? comment je dois régler ca ? (si ca viens de ca)
l'endrois marqué d'une fleche, une foi retirer ca plante plus. en fait l'utilisation normal du programe ne provoque pas d'erreur, par contre dès que l'on rempli une case mot de passe (la seconde de verification) sans remplir la premiere, puis si on appuie sur le checkbox "protection" rien ne va plus il s'embale et paf stack overflow... je pige pas...
si vous trouvez merci d'avance.... j'ai essayé de réécrire les sructures if then else de différentes façon ca change rien. le code en piece jointe.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89 //======================================================== procedure TMForm.ProtectionClick(Sender: TObject); begin //si le mot de passe n'existe pas encore ou que la protection n'st pas activÈe if MForm.Protection.Checked then begin if (MForm.Password.Text=MForm.password2.Text) and (Length(MForm.Password.Text)>0) then begin //les 2 mots de passe sont prÈsent et identique //on met a jour l'objet config pwd:=MForm.password.Text; //on sauvegarde la config dans a base de registre. MForm.savConfigClick(Sender); //on gËle les options de config MForm.PrinterUNC.Enabled:=False; MForm.UserUNC.Enabled:=False; MForm.password2.Enabled:=False; MForm.password2.text:='';MForm.password.text:=''; MForm.savconfig.Enabled:=False; PP_Output('- Configuration protÈgÈe ...'); end else begin MForm.Protection.Checked:=False; // <======VERS ICI BOOOOM PLANTAGE PP_Output('-ERREUR- Le mot de passe est nul, ou la confirmation n''est pas identique ...'); end; end else begin // sinon la config est dÈj protÈgÈ. Avant de valider le retrait de la protection // on compare le mot de passe dans config a celui dans password // ShowMessage(Msg) if pwd = MForm.password.Text then begin // si il est identique on dÈverouille tout. MForm.PrinterUNC.Enabled:=True; MForm.UserUNC.Enabled:=True; MForm.password2.Enabled:=True; MForm.savconfig.Enabled:=True; MForm.password2.text:='';MForm.password.text:=''; PP_Output('- Configuration modifiable.'); end else begin // SINON, on recoche la case pour annuler le changement et on affiche un message d'erreur. MForm.Protection.Checked:=True; PP_Output('-ERREUR- Mauvais mot de passe ...'); end; end; end;
Partager