Обработчик / подпрограмма Applescript не дает таких же результатов, как обычный код - PullRequest
0 голосов
/ 10 ноября 2019

Я не могу понять, почему этот код работает нормально вне подпрограммы, но выдает ошибку при копировании в подпрограмму и ее запуске.

Я все перепробовал и часами гуглил. Любая помощь приветствуется.

ОРИГИНАЛЬНЫЙ КОД

tell application "iTerm"
    if not (exists window 1) then reopen
    tell application "iTerm" to activate --activate or open if closed
    tell application "iTerm" to reopen -- un-minimize if minimized
    tell application "iTerm" to set the bounds of the first window to {0, 23, 960, 1080}
end tell

КОД ПОДПРОГРАММЫ

on MoveWindowScripted(app2move, windowPosition) -- last step not working for some reason...
    tell application app2move
        if not (exists window 1) then reopen
        tell application app2move to activate --activate or open if closed
        tell application app2move to reopen -- un-minimize if minimized
        tell application app2move to set the bounds of the first window to {0, 23, 960, 1080}
    end tell
end MoveWindowScripted

MoveWindowScripted(app2, LbottomLeft)

Я ожидаю получить одинаковые результаты в обеих ситуациях. Окно должно активироваться и переместиться в определенное место. Это работает для первого кода, но не для подпрограммы. Я получаю сообщение «Заметки получили ошибку: не могу установить приложение« Заметки »на {0, 23, 960, 1080}». Тем не менее, когда я обновляю подпрограмму и заменяю эту строку «сказать приложению app2move, чтобы установить границы первого окна равным {0, 23, 960, 1080}» этим «сообщить приложению« Примечания », чтобы установить границы первого окнана {0, 23, 960, 1080} ", работает нормально.

1 Ответ

0 голосов
/ 13 ноября 2019

Спасибо за ответ @ user3439894.

Вам не нужны tell application "iTerm" to или t ell application app2move to, когда целевые команды уже заключены в блок tell application "iTerm" или tell application app2move. Удаление трех ненужных tell application app2move to и вызов обработчика с помощью MoveWindowScripted("Notes", missing value) отлично работает для меня.

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