• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

App-Anweisung wird durch "applet" ersetzt?!

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
174
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
174
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"