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]);
Partager