|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| sNomChamp = EnumèreChamp(FenEnExécution(),nIndice) |
| Débuté par medow, 09 déc. 2004 12:50 - 9 réponses |
| |
| | | |
|
| |
| Posté le 09 décembre 2004 - 12:50 |
sNomChamp = EnumèreChamp(FenEnExécution(),nIndice)
Dans le rad des champs sur un onglet, le nom du champ d'indice 13 est NameClient et j'ai sNomChamp="", comment c'est possitble. C'est je pense la cause du dysfonctionnement de mon rade |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 13:28 |
braun a écrit :
sNomChamp = EnumèreChamp(FenEnExécution(),nIndice)
Dans le rad des champs sur un onglet, le nom du champ d'indice 13 est NameClient et j'ai sNomChamp="", comment c'est possitble. C'est je pense la cause du dysfonctionnement de mon rade
Quand la recherche paie...
http://www.wdforge.org/modules/newbb/viewtopic.php…
++ R&B de www.WDForge.org |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 13:34 |
Je reponds a moi-meme en faite dans une fenetre similaire du rad j'ai
sNomChamp = EnumèreChamp(FenEnExécution(),nIndice)
quand l'indice =5 ce qui correspond a un nom de champ "Premier" j'ai sNomChamp="Premier"
Dans une fenetre similaire qui justement ne fonctionne pas
quand l'indice = 5 ce qui correspond a un nom de champ "Premier" j'ai sNomChamp="" et ca renvoie "" ce qui arrete la recherche de mon ID et j'ai l'erreur d'integrite
Conclusion dans une fenetre de mon RAD EnumereChamp ne fonctionne pas.
Ce n'est pas lie a une corruption de la fenetre mais peut-etre a la presence d'un onglet.
C'est une erreur incroyable, il faut aussi dire que l'ordre de navigation qu'on lit apres avoir presse F5 ne correspond pas a l'ordre d'enumeration dans les 2 fenetres. |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 14:04 |
Dans l'aide de Windev, il y a marqué :
EnumereChamp : Renvoie le nom du Nème champ de la fenêtre, de l'état, du groupe, de l'onglet ou du super-champ.
En note ils rajoutent :
Seuls les champs appartenant directement à l'objet "parent" spécifié sont énumérés. Par exemple, si le paramètre <Objet "parent"> correspond au nom d'une fenêtre, la fonction EnumèreChamp fonctionne uniquement pour les champs appartenant directement à cette fenêtre. La fonction EnumèreChamp ne permet pas de récupérer les noms des champs appartenant aux onglets ou aux super-champs de cette fenêtre.
Bref, pour lister le 13 element de ton onglet, il faut faire :
EnumereChamp (MonOnglet[NumVolet], indice)
maintenant reste à voir si la numérotation des indices est toujours correcte ... Note que si tu l'utilise dans une boucle pour parcourir tous les champs, c'est plus intéressant d'utiliser EnumereSousElement, tu n'as pas d'indice à gérer |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 14:47 |
C'est tres simple tous mes essais donnent comme resultat un phenomene irreversible dans la manipulation d'une fenetre construit par le RAD meme avec la version Windev7.5. Si je deplace le champ identifiant du fichier principal relie dans un onglet de la fenetre le fonctionnement de enumerechamp se verra definitement deconnectee de son fonctionnement normal, meme si je remets le champ dans sa position en dehors de l'onglet le dysfonctionnement persiste. Je suis toujours oblige de relancer le RAD pour obtenir de nouveau un fonctionnement normal.
Conclusion: il faut eviter de faire toucher meme a titre d'essai un champ d'identification pour eviter ce dysfonctionnement. En fait tous les developpeurs qui ont eu des problemes avec le RAD ont du sans le savoir etre sujet a ce probleme qui n'a ete jusqu'a ce jour decrit par personne. C'est vraiment un phenomene bizarre.
Qu'est ce qui peut correctement remplace la fonction enumerechamp? |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 15:17 |
Je te remercie, je vais essayer. Si je comprends bien, meme si on choisit dans la proposition du RAD onglet on doit changer le code propose par le RAD qui ne prend pas en compte la presence de l'onglet dans le code propose. |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 15:57 |
echec du test:
J'ai fait schamp=enumeresouselement(Onglet[1],enumpremier)
tantque schamp<>""
traitement...
schamp=enumeresouselement(Onglet[1],enumpremier)
fin
Comme 1er resultat j'ai schamp="" je me demande ou a pu trouve un champ="" des la premiere recherche, c'est pas serieux.
J'essaie vainement depuis 24 heures, mais c'est desespere. Pourtant j'avais bien mis tous mes visualises de 1 a 15 sur l'onglet [1] |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 16:44 |
Bonjour,
Il est vrai que ton problème est bizarre vu que ça fonctionne chez moi mais sans le RAD. Je t'avoue que je n'utilise plus la Génération Automatique car je trouve que le code généré est vraiment très difficile à manipuler par la suite au niveau maintenance et optimisation du projet. Je m'avance peut-être en disant qu'un grand nombre de développeurs Windev préfèrent écrire leur propre code plutôt que de s'en remettre au RAD. Moi je te conseille de reprendre ton projet, si celui-ci n'est pas très volumineux, et de taper le code toi même. Ainsi tu sauras où les erreurs se trouvent, s'il y en a, et tu pourras les corriger sans problème. Je pense que le RAD est une manière de comprendre le langage Windev au départ et aussi pour développer ses premières applications mais je ne crois qu'on puiss réaliser une appli complète et bien structurée avec cette méthode. Voilà.
Ocin. |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 16:48 |
Où sont placées ces lignes de codes ? Si jamais, il considère que la fenêtre n'existe pas encore, EnumèreChamp ne marchera pas, et pour EnumereSousElement, il faut utiliser la syntaxe NomFenetre.NomOnglet.NumOnglet
Note: en relisant mon code au lieu de l'aide Windev, je vois que j'utilise EnumereSousElement (NomOnglet.NumVolet, enumpremier) au lieu de EnumereSousElement (NomOnglet [NumVolet], enumpremier) conseillé dans l'aide
A voir ... mais si j'ai utilisé cette syntaxe à l'époque c'était suite à des test perso pour trouver une syntaxe qui fonctionne contrairement à celle de l'aide.
En espérant que ça résolve ton problème ... |
| |
| |
| | | |
|
| | |
| |
| Posté le 09 décembre 2004 - 17:47 |
Tu as tout a fait raison, il vaut mieux abandonner le RAD Le code est plus facile a gerer et c'est moins compliquer de resoudre un probleme eventuel on maitrise tout, en plus avec Windev8 la gestion des tables fichiers allegent encore plus le code a ecrire en dehors du RAD. Moralite j'ai perdu 24 heures sur le RAD, et il faut moins de 2 heures pour ecrire le code sans le RAD.
Jusqu'a ce probleme avec un onglet j'etais pourtant un adepte du RAD, mais je prends definitivement le virage et j'utilise dorenavant le RAD pour Demo sans onglet. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|