- Сообщения
- 28
- Реакции
- 40
В теме "Скрипт в одну строку", автор Eugenyus, приводит пример для создания поля в меню и присвоения ему соответствующего действия:
Действуя аналогично я написал скрипт для CS5 с некоторым функционалом. Все работает отлично. Но при попытке сделать тоже самое, но для CS4. Ничего пока не получилось.
Скрипт запускается, меню появляется, но при попытке выполнить действие возникает ошибка: «Объект больше не существует».
Та же ситуация и с приведенным выше примером.
Что здесь непонятного для CS4? Какой объект он потерял: Listener? или function, которую надо выполнить?
Код:
#targetengine "breakPars"; //Это обязательно первая строка. В кавычках записать любое сочетание символов, но чтобы точно избежать совпадений с другими скриптами
var menuName = "Разбить абзацы на фреймы"; //Так будет назван пункт в меню
var myMenuItem = app.scriptMenuActions.add(menuName);
myMenuItem.addEventListener('onInvoke', function(){main();});
var mnu = app.menus.item("$ID/Main").submenus.item("$ID/Type"); //Пункт меню будет создан в меню Type
mnu.menuItems.add(myMenuItem);
function main(){ //"оборачиваем" скрипт в эту функцию. Если она в скрипте уже есть, оставляем как есть.
//основной код
}//"закрываем" функцию
Действуя аналогично я написал скрипт для CS5 с некоторым функционалом. Все работает отлично. Но при попытке сделать тоже самое, но для CS4. Ничего пока не получилось.
Скрипт запускается, меню появляется, но при попытке выполнить действие возникает ошибка: «Объект больше не существует».
Та же ситуация и с приведенным выше примером.
Что здесь непонятного для CS4? Какой объект он потерял: Listener? или function, которую надо выполнить?