Bonjour,

J'utilise beaucoup le composant TVirtualTreeview qui , une fois qu'on le maitrise, permet de faire pas mal de choses sympa.
N�anmoins, un petit probl�me subsiste : l'utilisation de la fonction memcpy avec les donn�es associ�es aux noeuds du virtualtreeview.
A chaque n�ud, j'associe en g�n�ral une structure compos�e de plusieurs membres.
Il m'arrive de devoir copier le contenu d'une structure dans une autre.
Dans ce cas, le plus simple d'apr�s moi serait d'utiliser la fonction memcpy.
Malheureusement, cela semble poser probl�me et seul l'affectation membre par membre fonctionne !!!

Ex:

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
typedef struct
{
int id;
char nom[30+1];
bool actif;
} TMaStruct;
 
typedef TMaStruct *pMaStruct;
 
Treeview->NodeDatasize = sizeof(TMaStruct);
Pour un noeud donn�, on r�cup�re les donn�es et on fait la copie comme �a :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
pMaStruct data = (pMaStruct)Treeview->GetNodeData(virtualnode);
 
TMaStruct copiedata;
 
copiedata.id = data->id;
strcpy(copiedata.nom, data->nom);
copiedata.actif = data->actif;
Ne serait-ce pas plus simple de faire la copie comme �a ? :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
memcpy(&copiedata, data, sizeof(TMaStruct));
Pourtant, �a ne fonctionne pas !
Certains d'entre vous ont-ils un avis sur la question ou bien ont-ils d�j� r�ussi � utiliser le memcpy avec un virtualtreeview ?

Merci de votre aide,