J'ai du mal à comprendre ce qui ne va pas dans ce qui suit :

ListBoxItem.AddObject réclame un TFmxObject cf l'aide : procedure AddObject(const AObject: TFmxObject);

Pour récupérer l'objet, on doit faire ListBox.Items.Objects[Index] et cela renvoie un TObject... ( vu que TFmxObject descend de TObject, cela ne doit pas poser de problème )

Ok, je vais donc utiliser des objets descendants de TFmxObject

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
 
Type MaClasse Class(TFmxObject)
...
end;
 
...
// j'ai besoin de gérer une liste d'objets de MaClasse :
pSeq_ListeCmt : array[Avant..Apres] of TObjectList<MaClasse>;
	...
 
    for l_iCpt := 0 to pSeq_ListeCmt[l_Etape].Count - 1 do
    begin
      l_Item := TListBoxItem.Create(ListBox1);
      l_Item.Parent := ListBox1;
     // J'affecte le libellé de l'item : c ok, je vois bien le libellé dans la listbox
      l_Item.Text := (pSeq_ListeCmt[l_Etape].Items[l_iCpt] as MaClasse).Libelle; 
      // on mémorise l'objet associé à l'item de la liste
      l_Item.AddObject(pSeq_ListeCmt[l_Etape].Items[l_iCpt]);
    end;
 
	//  lorsque je veux récupèrer l'objet, celui-ci est égale à Nil ?
	l_MonObjet := MaClasse(ListBox1.Items.Objects[ListBox1.ItemIndex]);