Bonsoir,

J'ai depuis un problème avec un treeview et la récupèration de l'objet attaché à un noeud.


Dans ma classe ClTreeView j'ai une méthode qui ajoute des noeuds à partir d'une liste d'objet :
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
 
...
 TTreeNode *tn=NULL;
 TTreeNode *tnFils=NULL;
 TClDisque *disk=NULL;
 // tv = ma treeview passé en paramètre à ma class,
 // tn = le noeud pere
...
 disk = ldisques->Fct_DisqueGetFirst();
 while(disk!=NULL) {
  tnFils = tv->Items->AddChild(tn, disk->volume);
  tnFils->Data = disk;
  tnFils->ImageIndex = disk->iconeIndex; 
  Fct_Tree_NodeDummyAdd(tnFils);
  disk = ldisques->Fct_DisqueGetNext();
 }

et dans l'événement OnExpanding de ma treeview, je veux récupèrer l'objet attaché au noeud, en faisant ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
void __fastcall TForm1::ObjTv_GaucheExpanding(TObject *Sender, TTreeNode *Node, bool &AllowExpansion)
{
 TClDisque *disk=NULL;
 disk = (TClDisque *) Node->Data;
 ...
}
et la "disk" ne correspond pas à celui que j'ai attaché plus haut. Pourtant je suis sur le meme noeud, et je ne vois rien qui cloche

merci du coup de main


Cordialement,

mickaël