Sujet : Re: SignAuPif 1.0.2
De : benoit (at) *nospam* com.invalid ("Benoît L.")
Groupes : fr.comp.sys.mac.programmationDate : 15. Feb 2022, 20:43:18
Autres entêtes
Organisation : C'est celui qui dit qui est
Message-ID : <sugvol$f9m$2@shakotay.alphanet.ch>
References : 1 2 3 4 5
User-Agent : MacCafe/2.06 (macOS 10.15.7 (19H1615) - MacBookPro14,2)
Le 15 février 2022 à 19:35, Joseph-B d'un élan de joie s'exprima ainsi :
"Benoît L." <benoit@com.invalid> wrote:
>
Par contre j'ai ajouté ça :
if buttonName is "Quitter" then exit repeat
>
Si ça peut te fare plaisir, mais ça ne sert strictement àrien :
à la microseconde où le /Cancel button/ est activé, la suite du script
n'est même pas lu, un message d'interruption est envoyé avec ordre
d'arrêter l'exécution du code qui l'a émis.
Et là on quitte proprement, pas avec le cancel proposé par défaut.
>
L'erreur Système -128 (Cancel de l'utilisateur) est gérée très
proprement par le système, ce n'est pas une sortie en force, c'est une
interruption.
Pour moi c’est comme de demander de faire un
keystroke cmd-alt-esc down
delay 0.2
return
Pour preuve, fais le test suivant : au lieu du "exit repeat " mets ceci
>
if buttonName is "Quitter" then beep
>
jamais tu n'entendras le Beep d'alerte Système parce que l'ordre
d'interruption sera passé avant que la commande Beep soit envoyée, et
dans tous les cas tu liras dans le débogueur
Moi je l’entends. Tu as gardé un bout de code dans
set {theButtons, minWidth}* to create buttons…
Résultat :
error "Annulé par l'utilisateur." number -128 from «script "Dialog
Toolkit Plus"» to item
Non, parce que tu as conservé « cancel button "Quitter" » dans create
buttons. Moi pas.
Toutefois il est possible d'intercepter le Cancel et empêcher d'arrêter
pour faire autre chose, mais ce n'est vraiment pas utile ici.
Je ne sais pas aujourd’hui pourquoi intercepter le Cancel button. Je me
simplifie la vie en le supprimant.
Bien sûr si on nomme un bouton quelconque "Quitter" qui n'est pas un
vrai /Cancel button/ dans une boucle repeat, ton ajout sera
indispensable.
C’est ce que j’ai fait. Cela permet surtout de faire des choses avant de
quitter l’appli, comme enregistrer la nouvelle version de la liste suite
à modification, suppression ou ajout. Ils sont effectués sur la liste en
mémoire et pas dans le fichier dans les préférences. Je n’écris sur le
disque qu’à la fin ou alors je mets une variable qui appelle une routine
qui fait le travail. Pour plus tard : K.I.S.S pour le moment.
* J’ai beaucoup de mal avec les « set "liste" » : je sais que ça marche
tant que ce n’est pas moi qui l’ai écrit.
-- Vie : n. f. Maladie mortelle sexuellement transmissiblebenoit chez leraillez.com