j'ai essayé de sélectionner un noeud d'un arbre avec l'instruction suivante :
Set Treeview1.SelectedItem = Nothing
Résultat : je plante à la deuxième execution, et très violement sur certains postes (pas tous!).
Quelqu'un saurait-il m'indiquer : 1) Comment déselectionner un noeud 2) Pourquoi ça plante si violement
Cordialement.
Pourrais tu mettre en ligne une partie du code permettant de reproduire ce comportement. Pour moi aucun problème ...
-- Cordialement,
Jacques.
SAISAS
Bonjour,
j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
Voila du code pour reproduire le bogue :
Set UserControl.Choix.SelectedItem = UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text) Set UserControl.Choix.SelectedItem = Nothing
En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met Nothing, ça plante.
Cordialement.
"Jacques93" a écrit :
Bonjour SAISAS, SAISAS a écrit : > Bonjour, > > j'ai essayé de sélectionner un noeud d'un arbre avec l'instruction suivante : > > Set Treeview1.SelectedItem = Nothing > > Résultat : je plante à la deuxième execution, et très violement sur certains > postes (pas tous!). > > Quelqu'un saurait-il m'indiquer : > 1) Comment déselectionner un noeud > 2) Pourquoi ça plante si violement > > Cordialement.
Pourrais tu mettre en ligne une partie du code permettant de reproduire ce comportement. Pour moi aucun problème ...
-- Cordialement,
Jacques.
Bonjour,
j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
Voila du code pour reproduire le bogue :
Set UserControl.Choix.SelectedItem =
UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text)
Set UserControl.Choix.SelectedItem = Nothing
En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met
Nothing, ça plante.
Cordialement.
"Jacques93" a écrit :
Bonjour SAISAS,
SAISAS a écrit :
> Bonjour,
>
> j'ai essayé de sélectionner un noeud d'un arbre avec l'instruction suivante :
>
> Set Treeview1.SelectedItem = Nothing
>
> Résultat : je plante à la deuxième execution, et très violement sur certains
> postes (pas tous!).
>
> Quelqu'un saurait-il m'indiquer :
> 1) Comment déselectionner un noeud
> 2) Pourquoi ça plante si violement
>
> Cordialement.
Pourrais tu mettre en ligne une partie du code permettant de reproduire
ce comportement. Pour moi aucun problème ...
j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
Voila du code pour reproduire le bogue :
Set UserControl.Choix.SelectedItem = UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text) Set UserControl.Choix.SelectedItem = Nothing
En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met Nothing, ça plante.
Cordialement.
"Jacques93" a écrit :
Bonjour SAISAS, SAISAS a écrit : > Bonjour, > > j'ai essayé de sélectionner un noeud d'un arbre avec l'instruction suivante : > > Set Treeview1.SelectedItem = Nothing > > Résultat : je plante à la deuxième execution, et très violement sur certains > postes (pas tous!). > > Quelqu'un saurait-il m'indiquer : > 1) Comment déselectionner un noeud > 2) Pourquoi ça plante si violement > > Cordialement.
Pourrais tu mettre en ligne une partie du code permettant de reproduire ce comportement. Pour moi aucun problème ...
-- Cordialement,
Jacques.
Jacques93
SAISAS a écrit :
Bonjour,
j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
Voila du code pour reproduire le bogue :
Set UserControl.Choix.SelectedItem = UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text) Set UserControl.Choix.SelectedItem = Nothing
En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met Nothing, ça plante.
Cordialement.
Par pure curiosité, quel intérêt de sélectionner un Item pour le supprimer immédiatement ?
Sinon, comme il s'agit d'un UserControl, n'y aurait il pas d'effet de bord sur le projet qui l'utilise ?
-- Cordialement,
Jacques.
SAISAS a écrit :
Bonjour,
j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
Voila du code pour reproduire le bogue :
Set UserControl.Choix.SelectedItem =
UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text)
Set UserControl.Choix.SelectedItem = Nothing
En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met
Nothing, ça plante.
Cordialement.
Par pure curiosité, quel intérêt de sélectionner un Item pour le
supprimer immédiatement ?
Sinon, comme il s'agit d'un UserControl, n'y aurait il pas d'effet de
bord sur le projet qui l'utilise ?
j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
Voila du code pour reproduire le bogue :
Set UserControl.Choix.SelectedItem = UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text) Set UserControl.Choix.SelectedItem = Nothing
En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met Nothing, ça plante.
Cordialement.
Par pure curiosité, quel intérêt de sélectionner un Item pour le supprimer immédiatement ?
Sinon, comme il s'agit d'un UserControl, n'y aurait il pas d'effet de bord sur le projet qui l'utilise ?
-- Cordialement,
Jacques.
SAISAS
Bonjour,
bien sûr, cette séquence ne présente aucun intérêt, sauf de planter chez moi et de reproduire exactement le bogue que je rencontre de manière imparable ...
En fait, mon code est l'équivalent d'une "Datacombo" mais avec un arbre au lieu d'une liste, et le code incriminé permet de récupérer une source de données et de sélectionner le noeud de l'arbre qui correspond à la donnée. Ma séquence est la suivante :
Set Arbre.SelectedItem = Nothing On Error Resume Next Set Arbre.SelectedItem = Arbre.Nodes.Item(Clé) On Error Goto 0
Je mets d'abord à Nothing pour éviter de conserver la dernière valeur si la clé n'existe pas, puis je cherche la valeur dans l'arbre (en inhibant l'erreur si la clé n'existe pas).
Le résultat pratique est que la première fois, mon code fonctionne sans aucun problème, mais que la seconde fois, il plante sur l'affectation à Nothing!
Pour résoudre le problème, j'ai mi le "On Error Resume next" avant l'affectation à Nothing, et que donc si la valuer n'existe pas, l'item sélectionné est celui de la valeur précédente (en particulier lorsque le donnée source vaut "Null").
Voila (comme quoi les chemins de la programmation sont parfois mistérieux!).
Cordialement.
"Jacques93" a écrit :
SAISAS a écrit : > Bonjour, > > j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème. > > Voila du code pour reproduire le bogue : > > Set UserControl.Choix.SelectedItem = > UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text) > Set UserControl.Choix.SelectedItem = Nothing > > En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met > Nothing, ça plante. > > Cordialement.
Par pure curiosité, quel intérêt de sélectionner un Item pour le supprimer immédiatement ?
Sinon, comme il s'agit d'un UserControl, n'y aurait il pas d'effet de bord sur le projet qui l'utilise ?
-- Cordialement,
Jacques.
Bonjour,
bien sûr, cette séquence ne présente aucun intérêt, sauf de planter chez moi
et de reproduire exactement le bogue que je rencontre de manière imparable ...
En fait, mon code est l'équivalent d'une "Datacombo" mais avec un arbre au
lieu d'une liste, et le code incriminé permet de récupérer une source de
données et de sélectionner le noeud de l'arbre qui correspond à la donnée. Ma
séquence est la suivante :
Set Arbre.SelectedItem = Nothing
On Error Resume Next
Set Arbre.SelectedItem = Arbre.Nodes.Item(Clé)
On Error Goto 0
Je mets d'abord à Nothing pour éviter de conserver la dernière valeur si la
clé n'existe pas, puis je cherche la valeur dans l'arbre (en inhibant
l'erreur si la clé n'existe pas).
Le résultat pratique est que la première fois, mon code fonctionne sans
aucun problème, mais que la seconde fois, il plante sur l'affectation à
Nothing!
Pour résoudre le problème, j'ai mi le "On Error Resume next" avant
l'affectation à Nothing, et que donc si la valuer n'existe pas, l'item
sélectionné est celui de la valeur précédente (en particulier lorsque le
donnée source vaut "Null").
Voila (comme quoi les chemins de la programmation sont parfois mistérieux!).
Cordialement.
"Jacques93" a écrit :
SAISAS a écrit :
> Bonjour,
>
> j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème.
>
> Voila du code pour reproduire le bogue :
>
> Set UserControl.Choix.SelectedItem =
> UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text)
> Set UserControl.Choix.SelectedItem = Nothing
>
> En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met
> Nothing, ça plante.
>
> Cordialement.
Par pure curiosité, quel intérêt de sélectionner un Item pour le
supprimer immédiatement ?
Sinon, comme il s'agit d'un UserControl, n'y aurait il pas d'effet de
bord sur le projet qui l'utilise ?
bien sûr, cette séquence ne présente aucun intérêt, sauf de planter chez moi et de reproduire exactement le bogue que je rencontre de manière imparable ...
En fait, mon code est l'équivalent d'une "Datacombo" mais avec un arbre au lieu d'une liste, et le code incriminé permet de récupérer une source de données et de sélectionner le noeud de l'arbre qui correspond à la donnée. Ma séquence est la suivante :
Set Arbre.SelectedItem = Nothing On Error Resume Next Set Arbre.SelectedItem = Arbre.Nodes.Item(Clé) On Error Goto 0
Je mets d'abord à Nothing pour éviter de conserver la dernière valeur si la clé n'existe pas, puis je cherche la valeur dans l'arbre (en inhibant l'erreur si la clé n'existe pas).
Le résultat pratique est que la première fois, mon code fonctionne sans aucun problème, mais que la seconde fois, il plante sur l'affectation à Nothing!
Pour résoudre le problème, j'ai mi le "On Error Resume next" avant l'affectation à Nothing, et que donc si la valuer n'existe pas, l'item sélectionné est celui de la valeur précédente (en particulier lorsque le donnée source vaut "Null").
Voila (comme quoi les chemins de la programmation sont parfois mistérieux!).
Cordialement.
"Jacques93" a écrit :
SAISAS a écrit : > Bonjour, > > j'ai trouvé pourquoi ça bogue, ce qui ne répond pas à mon problème. > > Voila du code pour reproduire le bogue : > > Set UserControl.Choix.SelectedItem = > UserControl.Choix.Nodes.Item("C" & UserControl.Valeur.Text) > Set UserControl.Choix.SelectedItem = Nothing > > En fait, lorsqu'on a quelque chose dans SelectedItem, et que l'on met > Nothing, ça plante. > > Cordialement.
Par pure curiosité, quel intérêt de sélectionner un Item pour le supprimer immédiatement ?
Sinon, comme il s'agit d'un UserControl, n'y aurait il pas d'effet de bord sur le projet qui l'utilise ?