PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → zone répétée et répétition en cours
zone répétée et répétition en cours
Débuté par lac, 24 avr. 2023 16:34 - 10 réponses
Posté le 24 avril 2023 - 16:34
Bonjour,
Je constate un comportement difficilement explicable sur les zones répétées. Je n'explique surtout pas la différences pour une même configuration en tre windev et windev mobile sur le cas suivant :

J'ai une zone répétée ZR_test avec 4 interrupteurs à bascule sur une ligne de la zone. Chaque interrupteur est lié à un attribut valeur de la zone répétée
A l'initialisation de la fenêtre, je crée 5 répétitions :

ZoneRépétéeAjouteLigne(ZR_test, 0, 0, 0, 0)
ZoneRépétéeAjouteLigne(ZR_test, 0, 0, 0, 0)
ZoneRépétéeAjouteLigne(ZR_test, 0, 0, 0, 0)
ZoneRépétéeAjouteLigne(ZR_test, 0, 0, 0, 0)
ZoneRépétéeAjouteLigne(ZR_test, 0, 0, 0, 0)


Donc tous les interrupteur sont à zéro
Sur l'évènement A chaque modification des interrupteurs, j'ai un code qui permet d'afficher le choix de l'utilisateur (code pour chacun avec l'attribut qui change ATT_boolX) :

lib = "Répétition en cours = " + ZR_test + ". Valeur pour le premier : " + ZR_test.ATT_bool1


Constat en éxécution pour le cas : je selectionne le deuxième bouton de la 3ème répétition:
Sous windev ok, les choix sont cohérents avec l'affichage -> répétition en cours 3. Valeur pour le second : 1
Sous windev mobile, débuggage sous simulateur ok, les choix sont cohérents avec l'affichage -> répétition en cours 3. Valeur pour le second : 1
sous windev mobile, test avec le WMDEV KO, il s'affiche répétition en cours 1, valeur pour le second : 0
avec compilation ios ko, il s'affiche répétition en cours 1, valeur pour le second : 0

Au second clic sur l'interrupteur, la répétition en cours devient bien la troisième, mais c'est comme si j'avais un décalage sur la répétition en cours.
Quelqu'un peut il m'expliquer le phénomène et comment réaliser une action sur la répétition choisie si l'on passe par l'interrupteur.
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 25 avril 2023 - 06:59
Salut
J'ai l'impression que c'est la sélection de la zone répéter qui est exécuté avant
Le clic sur l'interrupteur.
As tu du code dans cette sélection ?
Sinon as tu essayé l'écriture
ZR_test[ZR_test].ATT_boolX
?
Cela précise l'interrupteur de la ligne de zone répéter sélectionné
Alors que dans ton écriture, cela n'est pas précisé.
Message modifié, 25 avril 2023 - 07:02
Posté le 25 avril 2023 - 09:31
Salut, merci pour les pistes, cependant l'écriture

ZR_test[ZR_test].ATT_boolX


dans le code à chaque modification de INT_interrupteur ne change pas le comportement et le décalage.
Je n'ai pas d'autre code sur les évènements de la zone répétée.

Il a l'air de manquer un focus préalable de la répétition avant d'exécuter ce code dans ce cas de figure (J'ai testé avec une zone de saisie à la place de l'interurpteur et la répétition en cours est bien positionnée)
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 25 avril 2023 - 14:28
Personnellement, je ne vois pas.
Posté le 25 avril 2023 - 15:18
J'ai soumis le comportement au support...

En palliatif, je passe par une image clicable accompagnée d'un attribut booléen pour simuler un interrupteur en deux phases.

Personne n'utilise d'interrupteur dans une zone répétée?
Membre enregistré
1 123 messages
Popularité : +8 (8 votes)
Posté le 27 avril 2023 - 22:37
As-tu essayé ceci pour sélectionner la ZR;
nPosX est un entier = SourisPosX(spChamp)
nPosY est un entier = SourisPosY(spChamp)
nPosition est un entier = ZoneRépétéeInfoXY(ZR_Accueil, ziNumLigne, nPosX, nPosY)


--
Jean Turcotte
WX 28
Android 9.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Posté le 28 avril 2023 - 11:16
Bonjour Jean, je vais tester cela.
Posté le 28 avril 2023 - 12:07
La proposition ne marche pas, les indices sont systématiquement nPosX = 0, nPosY = 0 et nPosition = 1 au cours des évènements :
- A chaque modification de la ZR puis
- A chaque modfication de l'INT puis
- A chaque modification de la ZR (je ne sais pas pourquoi ça refait ce traitement après celui de l'INT)

C'est incompréhensible.
Posté le 01 mai 2023 - 14:43
J'ai ce problème avec les zones répétée sous iOs. Je l'ai résolu en remplaçant les interrupteur par des boutons et en testant l'état du bouton actif/inactif.
Je retrouvais un problème similaire avec le champ notation que j'ai remplacé par une série de boutons et pour lequel le service technique m'a répondu :
"
Suite à l'incident concernant le code de modification du champ notation dans zone répétée sous IOS qui ne renvoi pas la bonne ligne

La préparation d'un correctif par les équipes Développement et Qualité est en cours.
Un comportement amélioré sera alors disponible dans une prochaine version de WinDev Mobile mise en téléchargement sur le site (version 280084 ou supérieure)
"
Posté le 02 mai 2023 - 09:03
Merci Hervé pour ce retour
Posté le 26 mai 2023 - 08:51
Pour info, réponse de pc soft :

"Cette mise à jour vous concerne particulièrement car elle contient un correctif ou des correctifs d'un ou de plusieurs incidents que vous nous aviez vous-même signalé.

L'incident 685584 qui concerne la ligne sélectionnée dans une zone répétée avec des interrupteurs."

D'après mes premiers tests, le problème ne semble pas résolu par la maj 280085J.

Wait and see mais ça confirme qu'il y a bien un problème.