Есть ли тип приложения в AppleScript? - PullRequest
0 голосов
/ 29 апреля 2020

Есть ли тип приложения в AppleScript?

У меня есть этот обработчик:

on doHandler(theApplication)

    set theApp to ("\"" & theApplication & "\"")
    tell application theApp
        set frontWindow to theApp's (window 1)
        etc.
    end tell

end doHandler

Доступ к нему осуществляется следующим образом:

doHandler("TextEdit")

Это приводит к очевидным ошибка приложения (окно 1).

Итак, каков правильный вызов?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Все, что вам нужно сделать, это удалить строку set theApp to... и использовать ключевое слово its для установки правильной ссылки.

doHandler("TextEdit")

on doHandler(theApplication)
    tell application theApplication
        set frontWindow to its (window 1)
    end tell
end doHandler

В основном скрипте ссылки на приложения устанавливаются во время компиляции , поэтому вы не можете иметь переменное имя приложения, но обработчики не оцениваются до времени выполнения.

0 голосов
/ 29 апреля 2020

Это не может работать. Аргумент tell application должен быть литеральной строкой, поскольку терминология оценивается в время компиляции .

Кроме того, код все равно не работает, так как он ожидает, что каждое приложение имеет Словарь AppleScript, содержащий свойство window, которого нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...