OVH Cloud OVH Cloud

[HELP][AppleScript] Attente d'une appli et attente qu'une appli quitte

13 réponses
Avatar
fra
> > Soit le script :
> > -----
> > tell application "Finder"
> > open "Applications:Sérieux:MystIV:Myst4_2.cdr"
> > repeat until name of every disk contains "Myst4_2"
> > end repeat
> > end tell
> > launch application "myst4"
> > -----
> >
> > Je l'ai enregistré en application. Hier ça marchait ; aujourd'hui il
> > monte le .cdr mais ne lance pas l'appli myst4 !
> > Le plus bizarre c'est que si j'execute le code source du script ça
> > marche !
>
> Re
>
> Bon ça remarchait après un reboot puis en revenant plus tard ça ne
> marchait plus (script quitte avant d'avoir lancé l'appli). Y'a un truc
> qui merde dans applescript !
>
> Comment forcer un script à vérifier qu'une appli est lancée ; et à
> réessayer si elle ne l'est pas.
>
> D'autre part, idéalement j'aimerais que ce script attende que j'ai
> quitté myst4 puis démonte le .cdr avant de quitter ; comment puis faire?
>
> Merci pour votre aide

Personne ?

--
Fra

10 réponses

1 2
Avatar
Patrick Stadelmann
In article <1gmca8g.1u2myj3pavgqfN%,
(Fra) wrote:

Soit le script :
-----
tell application "Finder"
open "Applications:Sérieux:MystIV:Myst4_2.cdr"
repeat until name of every disk contains "Myst4_2"
end repeat
end tell
launch application "myst4"
-----

Je l'ai enregistré en application. Hier ça marchait ; aujourd'hui il
monte le .cdr mais ne lance pas l'appli myst4 !
Le plus bizarre c'est que si j'execute le code source du script ça
marche !


Re

Bon ça remarchait après un reboot puis en revenant plus tard ça ne
marchait plus (script quitte avant d'avoir lancé l'appli). Y'a un truc
qui merde dans applescript !

Comment forcer un script à vérifier qu'une appli est lancée ; et à
réessayer si elle ne l'est pas.

D'autre part, idéalement j'aimerais que ce script attende que j'ai
quitté myst4 puis démonte le .cdr avant de quitter ; comment puis faire?

Merci pour votre aide


Personne ?


Supprime la dernière ligne par et ajoute avant le "end tell" :

open "Myst4_2:Dossier:myst4"

en corrigeant le chemin, of course.

Patrick
--
Patrick Stadelmann



Avatar
fra
Patrick Stadelmann wrote:

-----
tell application "Finder"
open "Applications:Sérieux:MystIV:Myst4_2.cdr"
repeat until name of every disk contains "Myst4_2"
end repeat
end tell
launch application "myst4"
-----

Je l'ai enregistré en application. Hier ça marchait ; aujourd'hui il
monte le .cdr mais ne lance pas l'appli myst4 !
Le plus bizarre c'est que si j'execute le code source du script ça
marche !


Re

Bon ça remarchait après un reboot puis en revenant plus tard ça ne
marchait plus (script quitte avant d'avoir lancé l'appli). Y'a un truc
qui merde dans applescript !

Comment forcer un script à vérifier qu'une appli est lancée ; et à
réessayer si elle ne l'est pas.

D'autre part, idéalement j'aimerais que ce script attende que j'ai
quitté myst4 puis démonte le .cdr avant de quitter ; comment puis faire?

Merci pour votre aide


Personne ?


Supprime la dernière ligne par et ajoute avant le "end tell" :

open "Myst4_2:Dossier:myst4"

en corrigeant le chemin, of course.


Merci pour la suggestion. J'ai testé, jusqu'ici ça marche. Pourvou qu'ça
doure.
T'as une idée du pourquoi ma méthode merdait une fois sur deux (et pas
en exécution des lignes de code)?
--
Fra




Avatar
Patrick Stadelmann
In article <1gmcdsx.4h9hnae0utx5N%,
(Fra) wrote:

T'as une idée du pourquoi ma méthode merdait une fois sur deux (et pas
en exécution des lignes de code)?


Tu ne spécifiais pas précisément où se trouve l'application. Comme
celle-ci vient d'apparaître (montage de l'image), le système n'avait pas
toujours le temps d'apprendre où elle se trouve.

Patrick
--
Patrick Stadelmann

Avatar
ludovic.thebault
Fra wrote:

tell application "Finder"
open "Applications:Sérieux:MystIV:Myst4_2.cdr"
repeat until name of every disk contains "Myst4_2"
end repeat
end tell
launch application "myst4"




A quoi sert la boucle repeat ?
Il n'y a aucun code dedans.

PS : J'en suis resté à hypertalk, je ne me suis jamais trop intéressé à
Applescript.



Avatar
Patrick Stadelmann
In article <1gmcxyy.1rrdnvf1ksnk4mN%,
(Ludovic Thébault) wrote:

Fra wrote:

tell application "Finder"
open "Applications:Sérieux:MystIV:Myst4_2.cdr"
repeat until name of every disk contains "Myst4_2"
end repeat
end tell
launch application "myst4"




A quoi sert la boucle repeat ?
Il n'y a aucun code dedans.


Ca ne fait rien jusqu'à ce que le disque "Myst4_2" soit monté.
Je conseillerais quand même de mettre un "delay 1" dans la boucle pour
éviter de monopoliser le CPU.

Patrick
--
Patrick Stadelmann




Avatar
fra
Patrick Stadelmann wrote:

In article <1gmcdsx.4h9hnae0utx5N%,
(Fra) wrote:

T'as une idée du pourquoi ma méthode merdait une fois sur deux (et pas
en exécution des lignes de code)?


Tu ne spécifiais pas précisément où se trouve l'application. Comme
celle-ci vient d'apparaître (montage de l'image), le système n'avait pas
toujours le temps d'apprendre où elle se trouve.


Nan nan l'image disque montée est juste demandée par l'appli mais
l'appli est bien sur mon disque dur ! En gros la pemière fois après un
boot l'appli-script (script enregistré en appli) voulait bien lancer
l'appli mais les fois suivante rien! (appli-script se termine sans la
lancer... alors que l'exécution des lignes de code du script continue de
fonctionner normalement)


--
Fra


Avatar
fra
Ludovic Thébault wrote:

tell application "Finder"
open "Applications:Sérieux:MystIV:Myst4_2.cdr"
repeat until name of every disk contains "Myst4_2"
end repeat
end tell
launch application "myst4"




A quoi sert la boucle repeat ?
Il n'y a aucun code dedans.


A attendre que l'image disque soit bien montée (<<until name of every
disk contains "Myst4_2">>), ce qui est requis avant lancement de l'appli
qui sinon demande le DVD.
--
Fra




Avatar
fra
Patrick Stadelmann wrote:

Je conseillerais quand même de mettre un "delay 1" dans la boucle pour


Ca ferais quoi exactement ?

éviter de monopoliser le CPU.


Bof ça dure 2 sec
--
Fra

Avatar
Patrick Stadelmann
In article <1gmd9c0.7v5dquzvtj21N%,
(Fra) wrote:

Patrick Stadelmann wrote:

Je conseillerais quand même de mettre un "delay 1" dans la boucle pour


Ca ferais quoi exactement ?


Ca n'exécute la boucle qu'une fois par seconde.

Patrick
--
Patrick Stadelmann


Avatar
Patrick Stadelmann
In article <1gmd93x.1c9x6vh215vlsN%,
(Fra) wrote:

Nan nan l'image disque montée est juste demandée par l'appli mais
l'appli est bien sur mon disque dur ! En gros la pemière fois après un
boot l'appli-script (script enregistré en appli) voulait bien lancer
l'appli mais les fois suivante rien! (appli-script se termine sans la
lancer... alors que l'exécution des lignes de code du script continue de
fonctionner normalement)


Le script quitte sans doute trop rapidement et interrompt l'exécution de
launch.

Patrick
--
Patrick Stadelmann

1 2