Para presenciar el tema al que me refiero, sigue estos pasos:
Cree un AppleScript que simplemente contenga un display dialog
diálogo.
Guarde este script como un archivo .app.
Ejecute el archivo .app.
Si hace clic con el botón derecho en el ícono Dock del archivo, luego haga clic con el botón izquierdo Quit, como se muestra en la siguiente captura de pantalla:
observarás que no pasa nada. Es decir, la aplicación permanece abierta.
El atajo de teclado, ⌘ command+ Q, es igualmente inútil.
La única forma de salir de esta aplicación (excepto hacer clic en "Forzar salida" en Activity Monitor.app) es hacer clic en un botón en el cuadro de diálogo activo de la aplicación.
¿Es posible hacer que la función "Salir" inherente de una aplicación AppleScript salga de la aplicación, incluso si la aplicación muestra un cuadro de diálogo cuando se llama a la función "Salir"?
Nota: El display alert
cuadro de diálogo y el choose from list
cuadro de diálogo se comportan de la misma manera dominante que el display dialog
cuadro de diálogo.
La respuesta corta es, no .
La respuesta más larga es: por diseño, un AppleScript display dialog
crea un objeto modal de aplicación, lo que significa que hasta que el usuario responde a los controles del objeto, la aplicación espera hasta que recibe la entrada adecuada para ese objeto para que continúe.
Si existe un botón Cancelar y no el botón predeterminado, se puede descartar presionando la tecla Esc o presionando la tecla Comando y punto para activar el botón Cancelar. Si usa un botón Cancelar, puede atrapar el error y ejecutar uno return
que detendrá la ejecución del código restante de la aplicación.
Si no tiene un botón Cancelar, entonces no se puede descartar sin una interacción directa o forzar el cierre mediante cualquiera de varios métodos.
Para forzar la salida:
Además, ⌘Q no funciona porque está atenuado en el menú de la barra de menús de la aplicación.
Todo esto también es cierto dentro del propio Editor de secuencias de comandos, no solo con una aplicación AppleScript. Una vez que a display dialog
está presente, se debe interactuar con la aplicación de manera adecuada o forzar el cierre de la aplicación por un método u otro.
usuario3439894
esfera de rubik
usuario3439894