|
Débuté par michel.gillet33, 09 aoû. 2004 11:17 - 2 réponses |
| |
| | | |
|
| |
Posté le 09 août 2004 - 11:17 |
Bonjour,
Je viens vous demander de l'aide concernant l'utilisation d'un objet source de données dans une fontion récursive. Voici mon problème :
J'ai une fenetre avec un treeview et une liste. Le contenu de la liste est rempli à l'ouverture de la fenetre. Pour celle-ci, pas de problème. Par contre, le problème survient quand je dois remplir le contenu du treeview selon la sélection effectuée dans la liste. En effet, lorsque je sélectionne un élément de la liste, je lance une fonction récursive qui parcours un fichier et construit la structure du treeview. Seulement, lorsque je fais le premier appel à la fonction, j'ouvre uns source de données avec un HExecuteRequeteSql et suivant les données lues, je rappele la même fonction. Une fois le traitement terminé dans l'instance de la fonction, je sors de celle-ci en fermant la source de données de l'instance et en revoyant une valeur pour continuer le traitement dans l'appel précédent de la fonction. Et là, j'ai un problème car lorsque je fais un hlitsuivant après être revenu d'une instance de fonction, j'ai une erreur me disant que le fichier n'existe pas et en effet, la source de données est fermée.
Comment dois-je faire pour pouvoir utiliser une source de donnée portant le même nom dans plusieurs instances d'une même fonction ? Si je ne peux pas, comment faire pour déclarer une source de données unique par appel de fonction , par exemple avec des opérateurs d'indirection {} et pouvoir accéder aux membres de la source de données?
Merci d'avance pour votre aide, c'est assez urgent svp . |
| |
| |
| | | |
|
| | |
| |
Posté le 09 août 2004 - 11:40 |
"The_Legacy" <michel.gillet33@wanadoo.fr> wrote:
Bonjour,
Je viens vous demander de l'aide concernant l'utilisation d'un objet source de données dans une fontion récursive. Voici mon problème :
J'ai une fenetre avec un treeview et une liste. Le contenu de la liste est rempli à l'ouverture de la fenetre. Pour celle-ci, pas de problème. Par contre, le problème survient quand je dois remplir le contenu du treeview selon la sélection effectuée dans la liste. En effet, lorsque je sélectionne un élément de la liste, je lance une fonction récursive qui parcours un fichier et construit la structure du treeview. Seulement, lorsque je fais
le
premier appel à la fonction, j'ouvre uns source de données avec un HExecuteRequeteSql et suivant les données lues, je rappele la même fonction. Une fois le traitement terminé dans l'instance de la fonction, je sors de celle-ci en fermant la source de données de l'instance et en revoyant une valeur pour continuer le traitement dans l'appel précédent de la fonction. Et là, j'ai un problème car lorsque je fais un hlitsuivant après être revenu d'une instance de fonction, j'ai une erreur me disant que le fichier n'existe pas et en effet, la source de données est fermée.
Comment dois-je faire pour pouvoir utiliser une source de donnée portant le
même nom dans plusieurs instances d'une même fonction ? Si je ne peux pas, comment faire pour déclarer une source de données unique par appel de fonction , par exemple avec des opérateurs d'indirection {} et pouvoir accéder aux membres de la source de données?
Merci d'avance pour votre aide, c'est assez urgent svp .
Il suffit d'ajouter un paramètre à la fonction, qui vaut Non pour le premier appel, et oui dans les appels "récursif". Au début de la fonction, si la valeur du paramètre est Non, tu ouvres ta source de données. Et à la fin de la fonction, tu la refermes. Si le paramètre vaut Oui, tu ne fais rien ( à part bien sûr le traitement de la fonction ).
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 09 août 2004 - 16:19 |
Re,
Ca y est, j'ai trouvé une solution. J'ai en fait remplacé ma source de données par un opération d'indirection dont le nom est construit avec un des paramètres de la fonction.
A bientôt
"The_Legacy" <michel.gillet33@wanadoo.fr> a écrit dans le message de news:41172527$1@news.pcsoft.fr...
Bonjour,
Je viens vous demander de l'aide concernant l'utilisation d'un objet
source
de données dans une fontion récursive. Voici mon problème :
J'ai une fenetre avec un treeview et une liste. Le contenu de la liste est rempli à l'ouverture de la fenetre. Pour celle-ci, pas de problème. Par contre, le problème survient quand je dois remplir le contenu du treeview selon la sélection effectuée dans la liste. En effet, lorsque je sélectionne
un élément de la liste, je lance une fonction récursive qui parcours un fichier et construit la structure du treeview. Seulement, lorsque je fais le
premier appel à la fonction, j'ouvre uns source de données avec un HExecuteRequeteSql et suivant les données lues, je rappele la même fonction.
Une fois le traitement terminé dans l'instance de la fonction, je sors de celle-ci en fermant la source de données de l'instance et en revoyant une valeur pour continuer le traitement dans l'appel précédent de la fonction. Et là, j'ai un problème car lorsque je fais un hlitsuivant après être revenu
d'une instance de fonction, j'ai une erreur me disant que le fichier n'existe pas et en effet, la source de données est fermée.
Comment dois-je faire pour pouvoir utiliser une source de donnée portant le
même nom dans plusieurs instances d'une même fonction ? Si je ne peux pas, comment faire pour déclarer une source de données unique par appel de fonction , par exemple avec des opérateurs d'indirection {} et pouvoir accéder aux membres de la source de données?
Merci d'avance pour votre aide, c'est assez urgent svp .
|
| |
| |
| | | |
|
| | | | |
| | |
|