Bonjour à toutes et tous.
Je souhaite créer un TCheckList dynamiquement depuis un événement OnClicK.
Le code suivant fonctionne :
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
 
var GroupCheckBox: TCheckListBox; // uses CheckLst !!!!;
    i,Nb_Items:integer;
begin
   ...............
 
  GroupCheckBox:=TCheckListBox.Create(Form1);
  with GroupCheckBox do
    begin
      Parent:=Form1;
      Name:='GroupCheckBox'; // redondant !!!
      Caption:='Genre';
      Color:=clSkyBlue;
      Left:=RadioGroupGenre.Left+50;
      Top:=RadioGroupGenre.Top;
      Width:=RadioGroupGenre.Width;
      Style:=lbOwnerDrawFixed;
      ItemHeight:=20;
    end;
 
  for i:=0 to Nb_Items-1 do
    begin
      GroupCheckBox.Items.Add(RadioGroupGenre.Items[i]);
    end;
  GroupCheckBox.Height:=(Nb_Items+1)*20;
 
...............
end;
Mais si j'essaie d'utiliser le composant créé depuis une autre procédure, par exemple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
    if not GroupCheckBox.Items[i].Checked then
..., j'obtiens un vilain message à la compilation : Identificateur non déclaré : 'GroupCheckBox' ! J'ai donc essayé diverses pistes, dont le déplacement de la déclaration GroupCheckBox: TCheckListBox ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
    GroupCheckBox: TCheckListBox // j'ai essayé Ici !!!
end;
 
var
  Form1: TForm1;
  GroupCheckBox: TCheckListBox // puis j'ai essayé Là !!!
... sans succès (presqu'un après-midi complet )
D'avance merci.
Alain