[XE4] ListBox et AddObject
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:
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]); |