Bonjour à tous,
Je travaille sur un TTreeView défini dans une form.
Toujours dans cette form, j'ai une variable globale TTreeNode :
Au départ, Le TreeView est vide. Je crée un premier noeud :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private { Déclarations privées } CNode : TTreeNode;
Je peux ensuite créer d'autres soeurs ou d'autres filles. Pas de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TfActivite.DessinerSoeur(NomAct: string); begin CNode := TVact.Items.Add(Cnode, NomAct); TVAct.SaveToFile(FicTreeV); TVAct.SetFocus; TVAct.Select(CNode); end;
Je peux aussi supprimer ce premier noeud avec une procédure dans laquelle j'ai :
Ensuite, lorsque je veux récréer un premier noeud avec la première procedure décrite ci-dessus (TfActivite.DessinerSoeur), j'ai un Access Violation sur l'instruction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TVact.Items.Delete(CNode);
En résumé, si le TreeView contient des noeuds, tout se passe bien, je crée et détruit sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CNode := TVact.Items.Add(Cnode, NomAct);
Si le TreeView est vide, je me plante à la création sauf la première fois.
J'ai essayé pas mal de trucs sans trouver de solution à ce plantage. Si vous avez des éléments d'aide, je suis preneur.
Merci d'avance.
PS : Après la destruction du dernier noeud, j'ai codé un Close de la form, pour voir... Même problème, bien sûr...
Partager