Access violation dans un TTreeView
Bonjour à tous,
Je travaille sur un TTreeView défini dans une form.
Toujours dans cette form, j'ai une variable globale TTreeNode :
Code:
1 2 3 4
|
private
{ Déclarations privées }
CNode : TTreeNode; |
Au départ, Le TreeView est vide. Je crée un premier noeud :
Code:
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 ensuite créer d'autres soeurs ou d'autres filles. Pas de problème.
Je peux aussi supprimer ce premier noeud avec une procédure dans laquelle j'ai :
Code:
1 2
|
TVact.Items.Delete(CNode); |
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:
1 2
|
CNode := TVact.Items.Add(Cnode, NomAct); |
En résumé, si le TreeView contient des noeuds, tout se passe bien, je crée et détruit sans problème.
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...