Bonjour à tous

J'ai une form avec 3 TTabSheet. Sur le premier, aucun problème. Sur le second, j'ai cette erreur :





Elle intervient très précisément lorsque je cherche à mettre un bouton à Enabled := False ou bien Btn_X.SetFocus, ou bien même lorsque je clique sur le bouton Quitter (lequel ne fait partie d'aucun TabSheet).

Dans l'unité "Affichages.pas", j'ai cette routine, appelée par l'événement OnChange du JvPageControl :

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
 
Procedure Gerer_Changement_TabSheet;
Var
  TabSheet_Actif : integer;
 
begin
 
  TabSheet_Actif := Form1.JvPageControl1.ActivePageIndex;
 
  case TabSheet_Actif of
    0 : // Sauvegarde
      begin
        ITF_Entree;
        Form1.Btn_F_Temp.Enabled := True;
        Form1.Btn_F_Temp.Visible := True;
      end;
 
    1 : // Restauration
      begin
        Desactiver_Ts_Boutons_Sur_TabSheet_Svgrd;
        Form1.Btn_F_Temp.Enabled := False;
        Aff_Profil_Restaure;
        Form1.TabSheet_Svgrd.PageControl.ActivePage := Form1.TabSheet_Rest;
      end;
 
    2 : // Outils
      begin
            // Rien pour l'instant 
      end;
 
  end;
 
end;
Pour information, la procédure ITF_Entree :

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
 
Procedure Activer_Ts_Boutons_Sur_TabSheet_Svgrd;
Var
  i : integer;
  Tab_GroupBox : array of TWinControl;
  Nb_GroupBox : integer;
  Idx_Tab : integer;
 
begin
  Form1.TabSheet_Svgrd.PageControl.ActivePage := Form1.TabSheet_Svgrd;
  Nb_GroupBox := -1;
  Idx_Tab := 0;
  SetLength(Tab_GroupBox, 10); // On n'en aura jamais 10
 
  for i := 0 to Form1.TabSheet_Svgrd.ControlCount -1 do
    begin
      if Form1.TabSheet_Svgrd.Controls[i] is TGroupBox then
        begin
          INC(Nb_GroupBox);
          Tab_GroupBox[Idx_Tab] := TGroupBox(Form1.TabSheet_Svgrd.Controls[i]);
          INC(Idx_Tab);
        end;
    end;
 
  for i := 0 to Nb_GroupBox do
    begin
      if Tab_GroupBox[i].Controls[i] is TBitBtn then
        begin
          Tab_GroupBox[i].Enabled := True;
          Tab_GroupBox[i].Visible := True;
        end;
    end;
 
  SetLength(Tab_GroupBox, 0);
 
end;
J'ai fait un test ds un prog différent, pour tester ça, et je n'ai pas cette erreur.

PS : il y a bien un menu AdvMainMenu des TMS, sur la Form, mais je ne vois pas le rapport.