MAM78 Posté(e) le 4 mars 2018 Signaler Posté(e) le 4 mars 2018 Je m'explique, dans un VD j'ai plusieurs boutons. Bouton 1 Bouton 2 Bouton Update Lorsque je clic sur le bouton 1 le code contenu dans ce bouton fait un clic le bouton Update. Lorsque je clic sur le bouton 2 le code contenu dans ce bouton fait un clic le bouton Update. Dans le code du bouton Update je souhaite identifier quel est le bouton (1 ou 2) qui a générer l'exécution du bouton Update. Auriez-vous une idée (sans passer par des variables globales et des labels) ?
jjacques68 Posté(e) le 5 mars 2018 Signaler Posté(e) le 5 mars 2018 (modifié) interessant... sans passer par une VG ??? aucune une idée, mais je suis le sujet... Modifié le 5 mars 2018 par jjacques68
jojo Posté(e) le 5 mars 2018 Signaler Posté(e) le 5 mars 2018 même si j'avais une baguette magique, je ne vois pas comment faire ce que tu veux dans VG ou Label
MAM78 Posté(e) le 5 mars 2018 Auteur Signaler Posté(e) le 5 mars 2018 C'est bien pour ça que je pose ma question aux magiciens du forum
pepite Posté(e) le 6 mars 2018 Signaler Posté(e) le 6 mars 2018 Alors là, je ne crois pas qu'il existe dans l'API le moyen de récupérer la source du clic sur le bouton ;-)
DGDIM Posté(e) le 12 mars 2018 Signaler Posté(e) le 12 mars 2018 ou alors utiliser un contact libre sur un de tes module pour avoir le retour d'etat du bouton sur ta VD comme sa tu active réellement un contact qui te donne un retour d'état Donc tu clic sur bouton 1etat egale uptade
MAM78 Posté(e) le 12 mars 2018 Auteur Signaler Posté(e) le 12 mars 2018 C’est quoi un contacte libre ?Envoyé de mon iPhone en utilisant Tapatalk Pro
DGDIM Posté(e) le 12 mars 2018 Signaler Posté(e) le 12 mars 2018 sur un module il arrive des fois que tu n'utilise qu'un seul contact non ?
MAM78 Posté(e) le 12 mars 2018 Auteur Signaler Posté(e) le 12 mars 2018 L’idée n’est pas d’avoir un retour d’etat mais d’identifier le bouton sur lequel l’utilisateur a cliqué dans un VD sachant que je peux avoir plusieurs instances de ce VD. Je souhaite que le VD soit autonome et non dépendant d’autres VD ou devicesEnvoyé de mon iPhone en utilisant Tapatalk Pro
DGDIM Posté(e) le 12 mars 2018 Signaler Posté(e) le 12 mars 2018 ha ok je n'avais pas compris alors excuse moi !
MAM78 Posté(e) le 19 mars 2018 Auteur Signaler Posté(e) le 19 mars 2018 Je pense avoir trouvé la solution à ma demande. Est-ce que selon vous, il est possible d'écrire ("Call Button = 3") dans le debug du VD une trace ("Source Button = 3") correspondant au bouton appelant. Puis dans le bouton appellé analyser le débug (les dernieres traces) pour recherche ("Source Button =") et prendre la valeure correspondante. En l'occurence "3". Est-ce que l'écriture dans le debug est suffisement rapide et fiable selon vous. Je pense que cela pourrait être utilisé également pour partager (entre les bouton et main loop) le contenu de variables au sein d'un même VD. Je pense que cela ouvre quelques perspectives et pourrais simplifier certains codes et limiter l'usage de variables globales. Vous en pensez quoi ?
Lazer Posté(e) le 19 mars 2018 Signaler Posté(e) le 19 mars 2018 Oui mais tu t'exposes à un bug si tu as 2 boutons qui appellent (et donc écrivent un debug) en un temps trop rapproché. C'est pareil que via une variable globale cela-dit. J'avais exploré cette piste que j'ai abandonné pour me retrancher sur l'appel de scène avec passage d'argument, seul moyen d'obtenir une fiabilité de 100% (en fait c'est identique à un appel de fonction). Bon toi ça ne te conviendra pas car tu veux tout conserver dans le VD....
MAM78 Posté(e) le 20 mars 2018 Auteur Signaler Posté(e) le 20 mars 2018 Tu peux préciser quel est le délai pour que tu parles. Lors ce que tu évoques un temps trop rapprochée. dans mon contexte je parle au sein d’un même VD
Lazer Posté(e) le 20 mars 2018 Signaler Posté(e) le 20 mars 2018 Si un bouton A met un message dans le debug d'un autre bouton B puis clique dessus, dans ce cas le bouton B va commencer par lire son propre debug et trouver le message provenant du bouton appelant (le A) Si au même moment, un 3ème bouton C met également un message dans le debug du bouton B puis clique dessus, tu n'es pas certain que le bouton B va dépiler le bon message dans le debug.... celui de A, ou celui de C. A la limite, tu dois pouvoir contourner le problème en faisant une routine dans B, qui va traiter tous les messages dans sa propre zone de debug. Ainsi quelque soit l'ordre des messages, tu traites tous les événements provenant des autres boutons. Le souci après c'est de gérer cela correctement afin de ne pas traiter plusieurs fois des messages qui ont déjà été traités. Bref, je ne suis peut être pas clair, mais perso je ne vois pas trop comment tu veux gérer les choses.... ou alors je passe à coté d'un truc hyper simple ?
Messages recommandés