OnStop

Страницы: 1
RSS
OnStop, Не могу задать время на остановку скрипта из диалога управления
 
Такая функция (без всяких еще дописок в основном коде) должна мгновенно (за 1 мс) останавливать скрипт или нет?
function OnStop()
return 1
end
в примерах есть еще переменная stopped (которой присваивается true в этой функции) - зачем она?
p.s. я новичок - чур не обзывать тупым ))
 
Дмитрий, добрый день.
Функция OnStop не прерывает выполнение программы, а, наоборот, вызывается при остановке скрипта из диалога управления и при закрытии терминала QUIK. Функция возвращает количество миллисекунд, которое дается скрипту на завершение работы (в приведенном Вами примере - 1 мс).
Если речь идет о следующем примере из документации:
Код
function OnStop(flag)
    stopped = true
    return 3000 -- задается таймаут в 3 секунды
end
то переменная stopped предназначена для хранения информации о статусе выполнения скрипта. При остановке скрипта и вызове функции OnStop переменная stopped получает значение true.
 
Спасибо за ответ.
Но я понимаю, что функция OnStop не прерывает выполнение программы сама, а лишь вызывается при остановке и возвращает время на остановку скрипта. Я про другое. У меня эта 1мс никак не выходит. Любой скрипт останавливается ровно 5 секунд (которые заданы по умолчанию) и никак не реагирует на мои данные по return - делал и мало (1мс), и много (30с) - все одно пауза при нажатии "остановить" ровно 5с.
 
Дмитрий,
Как вариант, у вас, возможно, в каком-нибудь колбеке ожидание завершения чего-либо имеется или sleep.
А так, приведите минимальный код, который продемонстрирует проблему, чтобы не гадать.
 
Цитата
Дмитрий написал:
Спасибо за ответ.
Но я понимаю, что функция OnStop не прерывает выполнение программы сама, а лишь вызывается при остановке и возвращает время на остановку скрипта. Я про другое. У меня эта 1мс никак не выходит. Любой скрипт останавливается ровно 5 секунд (которые заданы по умолчанию) и никак не реагирует на мои данные по return - делал и мало (1мс), и много (30с) - все одно пауза при нажатии "остановить" ровно 5с.
вот к этим 5 секундам она и добавляет 1 ms.
 
Цитата
Дмитрий написал:
Спасибо за ответ.
Но я понимаю, что функция OnStop не прерывает выполнение программы сама, а лишь вызывается при остановке и возвращает время на остановку скрипта. Я про другое. У меня эта 1мс никак не выходит. Любой скрипт останавливается ровно 5 секунд (которые заданы по умолчанию) и никак не реагирует на мои данные по return - делал и мало (1мс), и много (30с) - все одно пауза при нажатии "остановить" ровно 5с.
Просим Вас предоставить пример скрипта, для которого воспроизводится     описанное поведение, а также сообщить версию используемого Вами     Рабочего места QUIK. Вы можете прислать скрипт на нашу почту quiksupport@arqatech.com, в письме нужно указать ссылку на данную тему форума.
Страницы: 1
Читают тему
Наверх