Bonjour,
Juste pour dire que je suis passé Í Script Debugger et c'est vraiment un
cran au-dessus. Surtout, comme son nom l'indique, pour débuguer un script.
La 1.0.7 est en phase de test final.
Normalement tout roule. Tout du moins tant que vous ne l'avez pas entre
les mains. :)
Reste Í faire un read-me.
Bonjour,
Juste pour dire que je suis passé Í Script Debugger et c'est vraiment un
cran au-dessus. Surtout, comme son nom l'indique, pour débuguer un script.
La 1.0.7 est en phase de test final.
Normalement tout roule. Tout du moins tant que vous ne l'avez pas entre
les mains. :)
Reste Í faire un read-me.
Bonjour,
Juste pour dire que je suis passé Í Script Debugger et c'est vraiment un
cran au-dessus. Surtout, comme son nom l'indique, pour débuguer un script.
La 1.0.7 est en phase de test final.
Normalement tout roule. Tout du moins tant que vous ne l'avez pas entre
les mains. :)
Reste Í faire un read-me.
Je ne comprends plus rien. Quand le fichier existait et n'avait donc pas
besoin d'être créer tout allait bien. Je refais un test en partant de 0
et je n'ai plus accès aux fichiers nouvellement créés.
Je ne comprends plus rien. Quand le fichier existait et n'avait donc pas
besoin d'être créer tout allait bien. Je refais un test en partant de 0
et je n'ai plus accès aux fichiers nouvellement créés.
Je ne comprends plus rien. Quand le fichier existait et n'avait donc pas
besoin d'être créer tout allait bien. Je refais un test en partant de 0
et je n'ai plus accès aux fichiers nouvellement créés.
•••••••••••••••••••••••••••••••••••••••••••
Le dimanche 27 février 2022 12:07:52, dans le message
Message-ID <news:svfpio$e2l$,
"BenoÍ®t L." écrivait :
•••••••••••••••••••••••••••••••••••••••••••Je ne comprends plus rien. Quand le fichier existait et n'avait donc pas
besoin d'être créer tout allait bien. Je refais un test en partant de 0
et je n'ai plus accès aux fichiers nouvellement créés.
Ma réponse ne va pas t'apporter la clé de ton énigme actuelle, parce que
je n'ai pas tes derniers développements.
Mais je voudrais te dire que quand on développe un projet un tant soit
peu complexe, la méthode est de toujours garder dans un dossier
d'archive les 3 ou 4 dernières versions qui marchaient, et
"verrouillées" : de cette façon lorsqu'on remanie le code dans la
version en développement, si on crée un bug apparemment insoluble, l'on
a un code qui fonctionnait Í comparer.
Une piste néanmoins : Ton histoire me fait penser Í un pb de
permissions.
Aurais-tu par hasard changé de Mac, ou de session pour cette version de
travail par rapport aux précédentes ?
En effet quand on travaille sur les Libraries, y compris celle du User,
depuis quelques versions l'OS est très vigilant aux droits de
créateur/propriétaire du fichier. Le fait de récréer un fichier de prefs
lui a réinitialisé les permissions qu'Applescript, qui peut en avoir
gardé traces des anciennes, ne reconnait plus.
Quitter Applescript, Redémarrer le Mac, bien sÍ»r toujours travailler
dans la même session lors du développement, et relancer le script.
•••••••••••••••••••••••••••••••••••••••••••
Le dimanche 27 février 2022 12:07:52, dans le message
Message-ID <news:svfpio$e2l$1@shakotay.alphanet.ch>,
"BenoÍ®t L." <benoit@leraillez.com.invalid> écrivait :
•••••••••••••••••••••••••••••••••••••••••••
Je ne comprends plus rien. Quand le fichier existait et n'avait donc pas
besoin d'être créer tout allait bien. Je refais un test en partant de 0
et je n'ai plus accès aux fichiers nouvellement créés.
Ma réponse ne va pas t'apporter la clé de ton énigme actuelle, parce que
je n'ai pas tes derniers développements.
Mais je voudrais te dire que quand on développe un projet un tant soit
peu complexe, la méthode est de toujours garder dans un dossier
d'archive les 3 ou 4 dernières versions qui marchaient, et
"verrouillées" : de cette façon lorsqu'on remanie le code dans la
version en développement, si on crée un bug apparemment insoluble, l'on
a un code qui fonctionnait Í comparer.
Une piste néanmoins : Ton histoire me fait penser Í un pb de
permissions.
Aurais-tu par hasard changé de Mac, ou de session pour cette version de
travail par rapport aux précédentes ?
En effet quand on travaille sur les Libraries, y compris celle du User,
depuis quelques versions l'OS est très vigilant aux droits de
créateur/propriétaire du fichier. Le fait de récréer un fichier de prefs
lui a réinitialisé les permissions qu'Applescript, qui peut en avoir
gardé traces des anciennes, ne reconnait plus.
Quitter Applescript, Redémarrer le Mac, bien sÍ»r toujours travailler
dans la même session lors du développement, et relancer le script.
•••••••••••••••••••••••••••••••••••••••••••
Le dimanche 27 février 2022 12:07:52, dans le message
Message-ID <news:svfpio$e2l$,
"BenoÍ®t L." écrivait :
•••••••••••••••••••••••••••••••••••••••••••Je ne comprends plus rien. Quand le fichier existait et n'avait donc pas
besoin d'être créer tout allait bien. Je refais un test en partant de 0
et je n'ai plus accès aux fichiers nouvellement créés.
Ma réponse ne va pas t'apporter la clé de ton énigme actuelle, parce que
je n'ai pas tes derniers développements.
Mais je voudrais te dire que quand on développe un projet un tant soit
peu complexe, la méthode est de toujours garder dans un dossier
d'archive les 3 ou 4 dernières versions qui marchaient, et
"verrouillées" : de cette façon lorsqu'on remanie le code dans la
version en développement, si on crée un bug apparemment insoluble, l'on
a un code qui fonctionnait Í comparer.
Une piste néanmoins : Ton histoire me fait penser Í un pb de
permissions.
Aurais-tu par hasard changé de Mac, ou de session pour cette version de
travail par rapport aux précédentes ?
En effet quand on travaille sur les Libraries, y compris celle du User,
depuis quelques versions l'OS est très vigilant aux droits de
créateur/propriétaire du fichier. Le fait de récréer un fichier de prefs
lui a réinitialisé les permissions qu'Applescript, qui peut en avoir
gardé traces des anciennes, ne reconnait plus.
Quitter Applescript, Redémarrer le Mac, bien sÍ»r toujours travailler
dans la même session lors du développement, et relancer le script.
Je reprends tout Í 0 en reprenant les routines les unes après les
autres. Bref je recommence tout, mais avec un plan et j’ajoute les
routines étape par étape.
Je reprends tout Í 0 en reprenant les routines les unes après les
autres. Bref je recommence tout, mais avec un plan et j’ajoute les
routines étape par étape.
Je reprends tout Í 0 en reprenant les routines les unes après les
autres. Bref je recommence tout, mais avec un plan et j’ajoute les
routines étape par étape.
Puisque je vise le développement d'une appli*, ne serait-il pas
intéressant, Í terme, de faire un script par routine ?
Je pose la question parce que dans ce cas on a un script principal
« léger » facile Í lire et pas des « tonnes » de lignes au milieu
desquelles on se promène Í la recherche de l'erreur.
Puisque je vise le développement d'une appli*, ne serait-il pas
intéressant, Í terme, de faire un script par routine ?
Je pose la question parce que dans ce cas on a un script principal
« léger » facile Í lire et pas des « tonnes » de lignes au milieu
desquelles on se promène Í la recherche de l'erreur.
Puisque je vise le développement d'une appli*, ne serait-il pas
intéressant, Í terme, de faire un script par routine ?
Je pose la question parce que dans ce cas on a un script principal
« léger » facile Í lire et pas des « tonnes » de lignes au milieu
desquelles on se promène Í la recherche de l'erreur.
"BenoÍ®t L." wrote:Puisque je vise le développement d'une appli*, ne serait-il pas
intéressant, Í terme, de faire un script par routine ?
Je pose la question parce que dans ce cas on a un script principal
« léger » facile Í lire et pas des « tonnes » de lignes au milieu
desquelles on se promène Í la recherche de l'erreur.
L'idée que tu émets de structurer une "appli" en différents scripts qui
seront appelés en cas de besoin par le handler principal s'applique déjÍ
et en premier au handler maͮtre.
Quand tu as une succession de lignes de commandes, effectuant une action
ou retournant une valeur, susceptible de constituer une routine Í part
entière, crée-la en lui donnant un nom et des paramètres, ce qui permet
ensuite de l'appeler depuis n'importe o͹, et autant de fois que
nécessaire, depuis le handler maÍ®tre.
D'ailleurs, de la même manière cette routine pourra appeler une ou
plusieurs sous-routines construites sur le même principe. (toutefois,
attention de ne pas trop saucissonner les routines, pour ne pas les
rendre incompréhensibles Í leur tour).
Au niveau de la modestie (sans offense de ma part) en terme de volume de
lignes de code du projet auquel tu t'attaques, nul besoin d'enregistrer
une sous-routine dans un script indépendant qu'il faudra aller
positionner dans un dossier "Libraries" du dossier "Resources" de
l'application.*
Par commodité de lecture, en général on sépare le handler maÍ®tre des
sous-routines positionnées en dessous par une barre de commentaire.
Mais c'est purement conventionnel et selon l'idée que l'on se fait du
pratique de la chose.
[…]
*Néanmoins, si tu y tiens essentiellement, une explication de la méthode
ici.
<https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/UseScriptLibraries.html>
ou cette série d'articles, qui bien qu'Í but de vulgarisation, me paraÍ®t
plus "confusionnante"
<https://macosxautomation.com/mavericks/libraries/index.html>
et une mise en exemple
<https://macosxautomation.com/mavericks/libraries/simple.html>
"Benoͮt L." <benoit@leraillez.com.invalid> wrote:
Puisque je vise le développement d'une appli*, ne serait-il pas
intéressant, Í terme, de faire un script par routine ?
Je pose la question parce que dans ce cas on a un script principal
« léger » facile Í lire et pas des « tonnes » de lignes au milieu
desquelles on se promène Í la recherche de l'erreur.
L'idée que tu émets de structurer une "appli" en différents scripts qui
seront appelés en cas de besoin par le handler principal s'applique déjÍ
et en premier au handler maͮtre.
Quand tu as une succession de lignes de commandes, effectuant une action
ou retournant une valeur, susceptible de constituer une routine Í part
entière, crée-la en lui donnant un nom et des paramètres, ce qui permet
ensuite de l'appeler depuis n'importe o͹, et autant de fois que
nécessaire, depuis le handler maÍ®tre.
D'ailleurs, de la même manière cette routine pourra appeler une ou
plusieurs sous-routines construites sur le même principe. (toutefois,
attention de ne pas trop saucissonner les routines, pour ne pas les
rendre incompréhensibles Í leur tour).
Au niveau de la modestie (sans offense de ma part) en terme de volume de
lignes de code du projet auquel tu t'attaques, nul besoin d'enregistrer
une sous-routine dans un script indépendant qu'il faudra aller
positionner dans un dossier "Libraries" du dossier "Resources" de
l'application.*
Par commodité de lecture, en général on sépare le handler maÍ®tre des
sous-routines positionnées en dessous par une barre de commentaire.
Mais c'est purement conventionnel et selon l'idée que l'on se fait du
pratique de la chose.
[…]
*Néanmoins, si tu y tiens essentiellement, une explication de la méthode
ici.
<https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/UseScriptLibraries.html>
ou cette série d'articles, qui bien qu'Í but de vulgarisation, me paraÍ®t
plus "confusionnante"
<https://macosxautomation.com/mavericks/libraries/index.html>
et une mise en exemple
<https://macosxautomation.com/mavericks/libraries/simple.html>
"BenoÍ®t L." wrote:Puisque je vise le développement d'une appli*, ne serait-il pas
intéressant, Í terme, de faire un script par routine ?
Je pose la question parce que dans ce cas on a un script principal
« léger » facile Í lire et pas des « tonnes » de lignes au milieu
desquelles on se promène Í la recherche de l'erreur.
L'idée que tu émets de structurer une "appli" en différents scripts qui
seront appelés en cas de besoin par le handler principal s'applique déjÍ
et en premier au handler maͮtre.
Quand tu as une succession de lignes de commandes, effectuant une action
ou retournant une valeur, susceptible de constituer une routine Í part
entière, crée-la en lui donnant un nom et des paramètres, ce qui permet
ensuite de l'appeler depuis n'importe o͹, et autant de fois que
nécessaire, depuis le handler maÍ®tre.
D'ailleurs, de la même manière cette routine pourra appeler une ou
plusieurs sous-routines construites sur le même principe. (toutefois,
attention de ne pas trop saucissonner les routines, pour ne pas les
rendre incompréhensibles Í leur tour).
Au niveau de la modestie (sans offense de ma part) en terme de volume de
lignes de code du projet auquel tu t'attaques, nul besoin d'enregistrer
une sous-routine dans un script indépendant qu'il faudra aller
positionner dans un dossier "Libraries" du dossier "Resources" de
l'application.*
Par commodité de lecture, en général on sépare le handler maÍ®tre des
sous-routines positionnées en dessous par une barre de commentaire.
Mais c'est purement conventionnel et selon l'idée que l'on se fait du
pratique de la chose.
[…]
*Néanmoins, si tu y tiens essentiellement, une explication de la méthode
ici.
<https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/UseScriptLibraries.html>
ou cette série d'articles, qui bien qu'Í but de vulgarisation, me paraÍ®t
plus "confusionnante"
<https://macosxautomation.com/mavericks/libraries/index.html>
et une mise en exemple
<https://macosxautomation.com/mavericks/libraries/simple.html>
En attendant, voici la 1.0.8 avec laquelle je ne trouve pas de problèmes
(étonnant, non ?)
Cela étant, je suis sÍ»r que tu sauras en dénicher.
En attendant, voici la 1.0.8 avec laquelle je ne trouve pas de problèmes
(étonnant, non ?)
Cela étant, je suis sÍ»r que tu sauras en dénicher.
En attendant, voici la 1.0.8 avec laquelle je ne trouve pas de problèmes
(étonnant, non ?)
Cela étant, je suis sÍ»r que tu sauras en dénicher.
Le 28 février 2022 Í 19 h 10, BenoÍ®t L. a tenu les propos suivants :En attendant, voici la 1.0.8 avec laquelle je ne trouve pas de problèmes
(étonnant, non ?)
Étonnant en effet : lancement de l'applet :
<https://www.dropbox.com/s/5zfvogrutoxpoyb/Ecran%2020.png?dl=0>
Lancement du script : message d'erreur "theChechbox n'est pas défini"
ou quelque que chose du genre.
Je vire mon dossier SignauPif au cas o͹.
Ça marche !
Je tente l'import d'un fichier de signatures : en fait d'import, c'est
un simple remplacement de l'ancien fichier par le nouveau fichier… Je
regarde le contenu du script et plus particulièrement de «Â on
importfile() »Â : tout ça pour ça ? ;-)
Je teste la case "Ajouter le délimiteur de signature" (*) cochée ou pas :
aucune différence… La signature copiée n'a pas de délimiteur.
Je demande une nouvelle signature : la case que j'avais décochée est
maintenant cochée.
Je demande Í copier la signature : la case que j'avais décochée est
maintenant cochée.
Je décoche la case et je quitte : Í la relance, la case est bien
décochée mais ensuite j'obtiens l'inverse de ci-dessus… J'ai beau
cocher la case, elle revient décochée après soit une nouvelle signature
soit le bouton copier.
Je ne vois guère de changement dans le comportement de ton script par
rapport Í la semaine dernière.
Cela étant, je suis sÍ»r que tu sauras en dénicher.
Oups… pardon… Tu ne t'adressais qu'Í Joseph-B ! ;-)
* Il y a une erreur d'ailleurs : un délimiteur de signature n'est pas
"tiret, tiret, espace"
Le 28 février 2022 Í 19 h 10, BenoÍ®t L. a tenu les propos suivants :
En attendant, voici la 1.0.8 avec laquelle je ne trouve pas de problèmes
(étonnant, non ?)
Étonnant en effet : lancement de l'applet :
<https://www.dropbox.com/s/5zfvogrutoxpoyb/Ecran%2020.png?dl=0>
Lancement du script : message d'erreur "theChechbox n'est pas défini"
ou quelque que chose du genre.
Je vire mon dossier SignauPif au cas o͹.
Ça marche !
Je tente l'import d'un fichier de signatures : en fait d'import, c'est
un simple remplacement de l'ancien fichier par le nouveau fichier… Je
regarde le contenu du script et plus particulièrement de «Â on
importfile() »Â : tout ça pour ça ? ;-)
Je teste la case "Ajouter le délimiteur de signature" (*) cochée ou pas :
aucune différence… La signature copiée n'a pas de délimiteur.
Je demande une nouvelle signature : la case que j'avais décochée est
maintenant cochée.
Je demande Í copier la signature : la case que j'avais décochée est
maintenant cochée.
Je décoche la case et je quitte : Í la relance, la case est bien
décochée mais ensuite j'obtiens l'inverse de ci-dessus… J'ai beau
cocher la case, elle revient décochée après soit une nouvelle signature
soit le bouton copier.
Je ne vois guère de changement dans le comportement de ton script par
rapport Í la semaine dernière.
Cela étant, je suis sÍ»r que tu sauras en dénicher.
Oups… pardon… Tu ne t'adressais qu'Í Joseph-B ! ;-)
* Il y a une erreur d'ailleurs : un délimiteur de signature n'est pas
"tiret, tiret, espace"
Le 28 février 2022 Í 19 h 10, BenoÍ®t L. a tenu les propos suivants :En attendant, voici la 1.0.8 avec laquelle je ne trouve pas de problèmes
(étonnant, non ?)
Étonnant en effet : lancement de l'applet :
<https://www.dropbox.com/s/5zfvogrutoxpoyb/Ecran%2020.png?dl=0>
Lancement du script : message d'erreur "theChechbox n'est pas défini"
ou quelque que chose du genre.
Je vire mon dossier SignauPif au cas o͹.
Ça marche !
Je tente l'import d'un fichier de signatures : en fait d'import, c'est
un simple remplacement de l'ancien fichier par le nouveau fichier… Je
regarde le contenu du script et plus particulièrement de «Â on
importfile() »Â : tout ça pour ça ? ;-)
Je teste la case "Ajouter le délimiteur de signature" (*) cochée ou pas :
aucune différence… La signature copiée n'a pas de délimiteur.
Je demande une nouvelle signature : la case que j'avais décochée est
maintenant cochée.
Je demande Í copier la signature : la case que j'avais décochée est
maintenant cochée.
Je décoche la case et je quitte : Í la relance, la case est bien
décochée mais ensuite j'obtiens l'inverse de ci-dessus… J'ai beau
cocher la case, elle revient décochée après soit une nouvelle signature
soit le bouton copier.
Je ne vois guère de changement dans le comportement de ton script par
rapport Í la semaine dernière.
Cela étant, je suis sÍ»r que tu sauras en dénicher.
Oups… pardon… Tu ne t'adressais qu'Í Joseph-B ! ;-)
* Il y a une erreur d'ailleurs : un délimiteur de signature n'est pas
"tiret, tiret, espace"
Je teste la case "Ajouter le délimiteur de signature" (*) cochée ou pas :
aucune différence… La signature copiée n'a pas de délimiteur.
Je demande une nouvelle signature : la case que j'avais décochée est
maintenant cochée.
Je demande Í copier la signature : la case que j'avais décochée est
maintenant cochée.
Je teste la case "Ajouter le délimiteur de signature" (*) cochée ou pas :
aucune différence… La signature copiée n'a pas de délimiteur.
Je demande une nouvelle signature : la case que j'avais décochée est
maintenant cochée.
Je demande Í copier la signature : la case que j'avais décochée est
maintenant cochée.
Je teste la case "Ajouter le délimiteur de signature" (*) cochée ou pas :
aucune différence… La signature copiée n'a pas de délimiteur.
Je demande une nouvelle signature : la case que j'avais décochée est
maintenant cochée.
Je demande Í copier la signature : la case que j'avais décochée est
maintenant cochée.
Import() si pas de fichier, si fichier existant mais vide, si
l’utilisateur le souhaite. Trois fois la même action et on ne va pas en
faire une routine ?
Import() si pas de fichier, si fichier existant mais vide, si
l’utilisateur le souhaite. Trois fois la même action et on ne va pas en
faire une routine ?
Import() si pas de fichier, si fichier existant mais vide, si
l’utilisateur le souhaite. Trois fois la même action et on ne va pas en
faire une routine ?