[AI CC-CC2021] ошибка 1346458189 (PARM) при запуске скрипта

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
Всем доброго времени суток!
Вдруг стала получать сообщение об ошибке
ill_error.jpg

при запуске скриптов. Можно сказать, на ровном месте. Нашла адобовский пост пятилетней давности, но там сумела только вычитать в самом начале чата, что люди перезагружают программу, на большее знаний английского не хватило. Может быть, я пропустила что-то и есть более определенные ответы?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Как минимум - что за интригующий скрипт Corel_center.jsx и что за такой хитрый обьект выделен со свойством left?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Загадочный скрипт Corel_center.jsx так и не нагуглился, поэтому вангатор выдает две версии:
1) на момент запуска скрипта выделен textRange с которым такое обращение неприемлемо, но этот вариант маловероятен, в таком случае обычно возникает ошибка, мол undefined это не объект
2) (более вероятный) в ходе выполнения предшествующего кода структура объектов документа ломается и массив selection перестает быть валидным
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
А что выделено вообще?
 

Gad

Сообщения
2 971
Реакции
1 405
А что выделено вообще?
Моя догадка....
По названию все что угодно :) Похоже очередной скрипт центровки (что нативно встроено в Corel) и иногда хочется иметь в AI без танцев с бубном :)
 
  • Спасибо
Реакции: catpaw

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

Не по теме:
В женщине обязательно должна присутствовать какая-то загадка... '))'
 

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
Загадочный скрипт Corel_center.jsx так и не нагуглился,
Скрипт собственный, сменяет выключку текста на центр без его сдвига
JavaScript:
for ( var j = 0 ; j < app.selection.length ; j++ ) {
if (app.selection[j].typename == "TextFrame") {
var myPar = app.selection[j].paragraphs[0];
var myLeft  = app.selection[j].left;

myPar.justification = Justification.CENTER;
app.selection[j].left = myLeft;
} }
как делает CDraw. Дело в том, что такая ругань ("...(PARM)") идет и на другие скрипты. Например и на скрипт MergeText_AI.jsx и на скрипт разбить на знаки. Запускаются они с FloatingPanel.jsx. До вчерашнего дня те же скрипты работали нормально.
 

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
Моя догадка....
По названию все что угодно :) Похоже очередной скрипт центровки (что нативно встроено в Corel) и иногда хочется иметь в AI без танцев с бубном :)
Абсолютно так. Может, есть уже скрипт(ы) для этого?;]]
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Ну вообще говоря, меняя выключку параграфу , вы можете поломать сам фрейм
Возможно, поможет redraw() животворящий после
myPar.justification = Justification.CENTER;
'hmmm'
 
  • Спасибо
Реакции: catpaw

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
Повторила поиск и нашла урок. Сейчас свои скрипты обернула в main(). Чужие скрипты лишены этого недостатка и я думаю, что мое может все портить...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Так помогло или нет?
 

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
а illustrator перезагружали?
Перезагружала. И в адобовском посте тоже писали про лечение перезагрузкой. Но это не есть хорошо. В посте #10 написала, что обнаружила способ лечения оборачиванием кода в функцию. Буду пробовать работать.

Не по теме:
(главное пробовала это сделать, но использовала app.doScript как в индизайне, которого в илле нет и решила, что вообще main() не используется...)
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 028
Реакции
1 197
Как вариант почистить C:\Windows\Temp и C:\Users\"Ваш юзер"\AppData\Local\Temp и вообще всякую темповскую ересь какую ещё знаете, например (AITEMP), запустить ил, и проверить работоспособность скриптов.
 
Последнее редактирование:
  • Спасибо
Реакции: catpaw

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
В посте #10 написала, что обнаружила способ лечения оборачиванием кода в функцию. Буду пробовать работать.
Проработала день со скриптами обернутыми
JavaScript:
function main(){
    /*
    код
    */
}
main();
ошибка возникла три раза, явно, когда я спешила продолжить работу, едва дождавшись окончания работы скрипта.
Еще попробую очистку мусора в tempах... спасибо!
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Проработала день со скриптами обернутыми
JavaScript:
function main(){
    /*
    код
    */
}
main();
ошибка возникла три раза, явно, когда я спешила продолжить работу, едва дождавшись окончания работы скрипта.
Еще попробую очистку мусора в tempах... спасибо!
Не знаю, что думают гуру по этому поводу, но, на мой взгляд это чистой воды шаманство - я ни единой причины не вижу, по которой код, обернутый хоть в десять функций работал бы устойчивее. А вот redraw действительно помогает, это научно медицинский факт. Если не помогает в данном конкретном случае, значит форматирование ломает фрейм слишком сильно, необходимо более серьезное колдунство. Например, сдвиг фрейма не через left (кстати почему не через position?) а прямым методом
 

catpaw

Топикстартер
12 лет на форуме
Сообщения
245
Реакции
10
В руководстве к Иллюстратору сказано, что эта ошибка происходит при многократном запуске одного и того же скрипта в Иллюстраторе при плохой работе с переменными.
Судя по цитате из урока все правда. У меня в иллюстраторе работа сейчас на одних скриптах, а как новичок с переменными наверняка портачу.