AppleScript user interaction unter OS X 10.11

17.05.2016

 

RagTime unterstützt umfangreiche Möglichkeiten zur Fernsteuerung über AppleScript. Diese Skripte erlauben auch Mitteilungen an oder Abfragen beim Anwender.


Bis OS X 10.10 kann man problemlos ein Skript wie dieses nutzen:

 

tell application "RagTime 6.6"
 activate
 set dlgResult to button returned of (display dialog "Script ausführen?" buttons {"Ja", "Nein"} default button 2)
 set cell "A1" of table 1 of document 1 to dlgResult
end tell

 

Ab OS X 10.11 geht das nicht mehr, da RagTime Berechnungen im Hintergrund ausführt, was auch bei laufenden Skripten der Fall ist.

Hier kommt es zum Syslog:

 

2016-05-03 16:16:51 asl fungus RagTime[31784]: This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release. …

 

was in RagTime dann im Folgenden zu einem Dauerläufer führt.

 

Die Lösung für dieses Problem ist die Verwendung der „System Events“ für sämtliche user interactions, wie

 

 


Hier zwei Beispiele, die einfach die Zelle A1 im ersten Rechenblatt des Dokuments verändern:



 

display dialog

tell application "RagTime 6.6"
    activate
    set dlgResult to "foo"
    tell application "System Events"
        activate
        set dlgResult to button returned of (display dialog "Script ausführen?" buttons {"Ja", "Nein"} default button 2)
    end tell

    activate
    set cell "A1" of table 1 of document 1 to dlgResult
end tell

choose from list
tell application "RagTime 6.6"
    activate
    set dlgResult to "foo"
    tell application "System Events"
        activate
        set dlgResult to (choose from list {"Banana", "Pear", "Quince"} with title "a List" with prompt "Select an item" default items {"Quince"})
    end tell
    activate
    if dlgResult = false then
        set dlgResult to "" -- canceled    
    else
        set dlgResult to item 1 of dlgResult
    end if
    set cell "A1" of table 1 of document 1 to dlgResult
end tell

 

Diese Beispiele zeigen, wie man die „System Events“ nutzen kann, um erfolgreich mit dem Anwender über AppleScript zu kommunizieren.

 

Zurück zur Übersicht

 

 

Schlagzeilen

Aus dem Vertrieb

Kontakt


Impressum  |  AGB  |  Sitemap  |  Datenschutz
 

Produktiver arbeiten

RagTime 6

 

Inventar und Foyer

Alle Komponenten und Formate, Schriften, Farben sind übersichtlich geordnet im Inventar gespeichert. Häufig genutzte Dokumente und Formulare öffnen Sie ohne langes Suchen direkt über das Foyer.


Neue Funktionen
Probieren geht über Studieren
Allgemeines zum Verkauf

Deutsch
English