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

Статус
Закрыто для дальнейших ответов.

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
При использовании $.sleep() содержимое окна показывается только после отработки функции sleep().
Т.е. окно видно, закрыть его, допустим, через 2 секунды можно, но содержимое окна мы так и не увидим.
Во всяком случае у меня пока не получилось (туплю?).
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 227
Реакции
10 851
Вы мой код запускали? Что происходит?
 

dumbm1

10 лет на форуме
Сообщения
421
Реакции
196
вот этот
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() и тот в последних версиях отвалился
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Попробуйте вот так
Код:
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

quaritexa

Участник
Сообщения
79
Реакции
6
У меня Illustrator CC 2017 (21.0.0) en_GB, macos Sierra.
 

quaritexa

Участник
Сообщения
79
Реакции
6
Попробуйте вот так
Спасибище, с .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();
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 227
Реакции
10 851
Вот почему каждый вопрос должен задаваться в своей теме
Посколько префикс данного топика - CS6, а в нем превосходно работает и без close и update
 
Статус
Закрыто для дальнейших ответов.