PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV Mobile 2024 → Sélection de Ligne dans une ZR
Sélection de Ligne dans une ZR
Iniciado por Jean TURCOTTE, dez., 15 2017 1:19 AM - 6 respostas
Membro registado
1.110 mensagems
Popularité : +8 (8 votes)
Publicado em dezembro, 15 2017 - 1:19 AM
Bonjour,

Avec ma ZR, j'utilise le traitement "Ligne sélectionnée" pour ouvrir une fenêtre A. J'utilise le traitement "Appui Long" pour ouvrir une autre fenêtre B détourée (pour afficher des options concernant la ligne sélectionnée).

Lorsque le traitement appui long s’exécute, la fenêtre B s'affiche mais en dessous, c'est la fenêtre A qui s'affiche.

J'aimerais que la fenêtre B s’affiche et qu'en dessous, la ZR reste affichée.

Merci de votre aide.

--
Jean Turcotte
WX 22
Android 7.0 avec Moto G4 Plus
Laptop Lenovo
Membro registado
151 mensagems
Popularité : +7 (7 votes)
Publicado em dezembro, 15 2017 - 9:16 AM
Bonjour, voici ma solution, j'ai ce code sur un bouton mais ça devrait peut-être fonctionner sur une ZR :

1. Déclarer une variable globale booléenne appelée par exemple "appui_long_effectue"

2. Dans le code de l'appui long de la ZR

appui_long_effectue = Vrai

// Votre code


3. Dans le code de sélection de la ZR

SI PAS appui_long_effectue
// Votre code
FIN

appui_long_effectue = Faux
Membro registado
2.566 mensagems
Popularité : +222 (260 votes)
Publicado em dezembro, 15 2017 - 10:14 AM
Bonjour,

Moi je pense qu'il y a surtout un problème de déclaration côté pc soft et que tu devrais remonter le problème au ST. Ce sont en effet 2 évènements distincts. Il ne doit donc pas y avoir de mélange entre les 2.

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Mensagem modificada, dezembro, 15 2017 - 10:26 AM
Publicado em dezembro, 15 2017 - 10:49 AM
pour moi le comportement est normal, le traitement de sélection est d'abord exécuté en affichant la fenêtre A, puis le traitement d'appui long qui ouvre la fenêtre B par dessus.
Tu peux exécuter ton traitement de sélection dans un Timer pour différé un peu son exécution en vérifiant que le traitement d'appui long n'a pas été exécuté.
Membro registado
2.566 mensagems
Popularité : +222 (260 votes)
Publicado em dezembro, 15 2017 - 11:27 AM
@wddev: ce comportement ne peut pas être normal. As-tu déjà vu sur une application Android l'évènement de clic sur une liste s'exécuter lors d'un appui long ???

Ce serait hyper grave. Imaginons que sur un simple tu supprimes une ligne et que sur l'appui long tu ouvres un menu pour faire autre chose. Tu vas supprimer ta ligne d'abord et ensuite lors de la sélection d'un menu tu vas exécuter ton code sur quoi ?

--
Cordialement,

Philippe SAINT-BERTIN
Géode Informatique
Membro registado
1.110 mensagems
Popularité : +8 (8 votes)
Publicado em dezembro, 15 2017 - 2:20 PM
Merci à vous messieurs pour vos judicieux conseils.

J'ai essayé la solution la plus simple et le code de Gael fonctionne parfaitement alors mon problème est corrigé grace à vous.
Je suis toutefois d'accord avec Philippe quant à l'exécution probable.

Merci encore ! :merci:

--
Jean Turcotte
WX 22
Android 7.0 avec Moto G4 Plus
Laptop Lenovo
Publicado em dezembro, 15 2017 - 2:53 PM
Philippe SB a écrit :
> @wddev: ce comportement ne peut pas être normal. As-tu déjà vu sur une application Android l'évènement de clic sur une liste s'exécuter lors d'un appui long ???

Non ça n'arriverait pas car le dev aura gérer le cas comme doit le faire Jean.
Je développe également des applications Android en code natif, il y a la même problématique.

Ce qui aurait pu être pratique cependant c'est de pouvoir renvoyer Vrai dans le traitement d'appui long pour dire qu'on a traité l'événement et que le traitement de sélection ne doit pas être exécuté (c'est plus ou moins ce qu'il faut faire en code natif).