[AI CS4-CS6] Как использовать onClose()?

Статус
Закрыто для дальнейших ответов.
При использовании $.sleep() содержимое окна показывается только после отработки функции sleep().
Т.е. окно видно, закрыть его, допустим, через 2 секунды можно, но содержимое окна мы так и не увидим.
Во всяком случае у меня пока не получилось (туплю?).
 
Вы мой код запускали? Что происходит?
 
вот этот
PHP:
z = new Window("palette","Временное окно");
z.frameLocation = [270,138];
z.size = [300,85];
z.but1 = z.add("button",[0,0,300,20],"Кнопка 1");
z.text1 = z.add("edittext",[1,44,300,60],"Текстовое окно");
z.show();
$.sleep(2000);
а почему здесь нет z.close()?

короче, в версиях СС (#17) и СС2015 (#19) происходит следующее:
  1. появляется окно (без содержимого, только пустое окно и заголовок "Временное окно")
  2. через две секунды появляется содержимое окна
В CS5-CS6 всё ОК - сразу отображают содержимое!

ОС Win10x64Rus

В общем, был раньше костыль $.sleep() и тот в последних версиях отвалился
 
Попробуйте вот так
Код:
z = new Window("palette","Временное окно");
z.frameLocation = [270,138];
z.size = [300,85];
z.but1 = z.add("button",[0,0,300,20],"Кнопка 1");
z.text1 = z.add("edittext",[1,44,300,60],"Текстовое окно");
z.show();
z.update();
$.sleep(2000);

Либо так, чтобы закрывалось не автоматически, а именно по z.close();
Код:
#targetengine illustrator
z = new Window("palette","Временное окно");
z.frameLocation = [270,138];
z.size = [300,85];
z.but1 = z.add("button",[0,0,300,20],"Кнопка 1");
z.text1 = z.add("edittext",[1,44,300,60],"Текстовое окно");
z.show();
z.update();
$.sleep(2000);
z.close();

Так работает и CS6 и в СС17.
 
  • Спасибо
Реакции: quaritexa, _MBK_ и dumbm1
У меня Illustrator CC 2017 (21.0.0) en_GB, macos Sierra.
 
Попробуйте вот так
Спасибище, с .update() заработало. Только в начале не targetengine, a target. То есть engine по умолчанию main:
Код:
#target illustrator
z = new Window("palette", undefined, undefined, {borderless: true});
z.size = [100, 50];
z.opacity = .9;
z.add("statictext", undefined, "Duplicate");
z.show();
z.update();
$.sleep(300);
z.close();
 
Вот почему каждый вопрос должен задаваться в своей теме
Посколько префикс данного топика - CS6, а в нем превосходно работает и без close и update
 
Статус
Закрыто для дальнейших ответов.