Кнопка "Отмена" в диалоге

  • Автор темы Автор темы Nano
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Nano

Участник
Топикстартер
Сообщения
47
Реакции
100
Хочется добавить возможность прерывать выполнение скрипта. Пишу:
Код:
var count = 1000000;
var cancel = false;

var progressPanel = new Window('window', '');
progressPanel.orientation = 'row';

var progressBar = progressPanel.add('progressbar', [12, 12, 300, 24], 0, 99); 

var cancelButton = progressPanel.add ('button', undefined, 'Отмена');
cancelButton.onClick = function()
{
	alert('canceled');
	cancel = true;
	win.close();
}

progressPanel.show();

for (var i = 0; !cancel && i < count; i++)
	progressBar.value = 99 * i / count;

progressPanel.hide();
Почему-то progressbar работает, а кнопка нет? Как приостановить цикл и обработать событие?
 
Ответ: Кнопка "Отмена" в диалоге

наверное так, через Escape
Код:
#targetengine "session" 
var count = 1000000;
var progressPanel = new Window('window', '');
progressPanel.orientation = 'row';
var progressBar = progressPanel.add('progressbar', [12, 12, 300, 24], 0, 99); 
var cancelButton = progressPanel.add ('button', undefined, 'Отмена');
cancelButton.onClick = function(){
	alert('canceled');
	progressPanel.hide();
	}
progressPanel.show();
for (var i = 0; i < count; i++)
	progressBar.value = 99 * i / count;
progressPanel.hide();
 
Статус
Закрыто для дальнейших ответов.