Führen Sie die folgenden Schritte aus, um das Problem zu bezeugen, auf das ich mich beziehe:
Erstellen Sie ein AppleScript, das einfach nur einen Dialog enthält display dialog
.
Speichern Sie dieses Skript als .app-Datei.
Führen Sie die .app-Datei aus.
Wenn Sie mit der rechten Maustaste auf das Dock-Symbol der Datei klicken, klicken Sie dann mit der linken Maustaste auf Quit, wie im folgenden Screenshot dargestellt:
Sie werden feststellen, dass nichts passiert. Das heißt, die Anwendung bleibt offen.
Die Tastenkombination ⌘ command+ Qist ähnlich sinnlos.
Die einzige Möglichkeit zum Beenden dieser Anwendung (mit Ausnahme des Klickens auf „Force Quit“ in Activity Monitor.app) besteht darin, auf eine Schaltfläche im aktiven Dialogfeld der Anwendung zu klicken.
Ist es möglich, die einer AppleScript-Anwendung innewohnende „Beenden“-Funktion aus der Anwendung heraus zu beenden, selbst wenn die Anwendung gerade einen Dialog anzeigt, wenn die „Beenden“-Funktion aufgerufen wird?
Hinweis: Der display alert
Dialog und der choose from list
Dialog verhalten sich genauso dominant wie der display dialog
Dialog.
Die kurze Antwort ist, nein .
Die längere Antwort lautet: Per Design erstellt ein AppleScript display dialog
ein modales Anwendungsobjekt, was bedeutet, dass die Anwendung wartet, bis der Benutzer auf die Steuerelemente des Objekts reagiert, bis sie die entsprechende Eingabe für dieses Objekt erhält, um fortzufahren.
Wenn eine Abbrechen-Schaltfläche vorhanden ist und nicht die Standardschaltfläche, kann sie durch Drücken der Esc- Taste oder durch Drücken der Befehlstaste geschlossen werden , um die Abbrechen-Schaltfläche zu aktivieren. Wenn Sie eine Abbrechen-Schaltfläche verwenden, können Sie den Fehler abfangen und eine ausführen, return
die die Ausführung des verbleibenden Codes der App anhält.
Wenn es keine Abbrechen-Schaltfläche gibt, kann es nicht ohne direkte Interaktion oder erzwungenes Beenden durch eine von mehreren Methoden geschlossen werden.
Beenden erzwingen:
Außerdem funktioniert ⌘Q nicht, weil es im Menüleistenmenü der App ausgegraut ist.
All dies gilt auch im Skripteditor selbst, nicht nur bei einer AppleScript-App. Sobald eine display dialog
vorhanden ist, muss mit ihr entsprechend interagiert werden oder die App wird durch die eine oder andere Methode zum Beenden gezwungen.
Benutzer3439894
Rubiks Sphäre
Benutzer3439894