• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Seit Gutenbergs Zeiten haben sich nicht nur Bücher über die ganze Welt verbreitet, sondern Buchstaben und Wörter begleiten uns allumfassend. Selbst moderne Devices mit Sprachsteuerung und Super-KI kommen nicht ohne Buchstaben, Wörter oder Symbole aus. Nicht zuletzt darum ist das Thema das Monats Am Anfang war das Wort ---> Klick

App-Anweisung wird durch "applet" ersetzt?!

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
175
Hi,

mein Applescript startet LogicPro, FastScripts und Powermate (runder USB-Drehregler), das funktioniert seit Monaten wunderbar. Es ist als *.app von mir exportiert und liegt auf dem Schreibtisch.
Zweimal ist es jetzt vorgekommen, dass aus heiterem Himmel das Script meldet: "Die Datei applet wurde nicht gefunden." - ok / bearbeiten (bearbeiten öffnet ein "Programm auswählen"-Fenster)
Im Script stelle ich fest, dass der Begriff "PowerMate" durch applet ersetzt wurde. PowerMate.app befindet sich seit eh und je im Programme-Ordner. Wieso passiert das?

"tell application "PowerMate" (bzw. "applet") to activate
try
get window 1
end try
tell application "System Events"
set visible of process "PowerMate" to false
end tell"
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Gab es vielleicht mal ein Update? Du könntest es mal mit der app id probieren, z.B.:

tell app id "com.apple.Finder"
 

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
175
ich habe zwar auf Mountain Lion aktualisiert, aber der Fehler dieser Art kam zum 2ten Mal nach der Aktualisierung. Die PowerMate.app wurde nicht aktualisiert.
Leider kenne ich diesen "tell app id"-Befehl nicht, ein kurzes googlen hat mir gesagt, ich könne die Datei umbenennen und das Script dennoch benutzen. Er öffnet dann via ID und nicht per Name. Habe ich das richtig verstanden?
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Genau, anhand der ID (Bundle Identifier) kann ein Programm eindeutig identifiziert werden, unabhängig vom Namen. Du kannst den Bundle Identifier z.B. mit AppleScript heruasfinden:

get id of application "Mein Programm"

Statt tell application "Mein Programm" schreibst du dann einfach tell application id "de.firma.MeinProgramm"