OnClose()

Страницы: 1
RSS
OnClose()
 
Проблемму начали изучать 05/06/13
При закрытии терминала :
OnClose() - действия выполняются, окно терминала исчезает. Но процеес info.exe остается.
OnCleanUp() - действия не происходят. Процеес info.exe останавливается нормально.
OnStop() -  действия выполняются, терминал зависает.

Необходимо при закрытии терминала выполнять действия. Как это сделать?

Код
function OnClose() 
 os.execute("cmd.exe")
end
 
Код
function OnClose() 
 os.execute("start cmd.exe")
end
 
 
Michael Bulychev, здесь вы предлагаете использовать OnCleanUp. Позже ваш коллега
Цитата
Егор Зайцев (ARQA Technologies) пишет:
в текущей реализации функция OnCleanUp не работает.
Так как на самом деле: OnCleanUp работает? И что есть "смена сессии"?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
Michael Bulychev , здесь вы предлагаете использовать OnCleanUp. Позже ваш коллега
Цитата
Егор Зайцев (ARQA Technologies) пишет :
в текущей реализации функция OnCleanUp не работает.
Так как на самом деле: OnCleanUp работает? И что есть "смена сессии"?
Добрый день.

Действительно одно время эта функция не работала и проблема была устранена в версии 6.15
Под сменой сессии имеется ввиду дата торгов.
 
Цитата
Egor Zaytsev пишет:
Действительно одно время эта функция не работала и проблема была устранена в версии 6.15
У меня предложение: при анонсировании новой версии писать более подробно о новых возможностях, об устранении старых ошибок и, по возможности, о добавлении новых.

Цитата
OnCleanUp
Функция вызывается терминалом QUIK при смене сессии и при выгрузке файла qlua.dll.
Цитата
Egor Zaytsev пишет:
Под сменой сессии имеется ввиду дата торгов.
Это значит, что OnCleanUp вызывается при переподключении к серверу в новый торговый день?
Когда происходит выгрузка файла qlua.dll?

Короче, что нужно сделать, чтобы был вызван колбек OnCleanUp?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
Цитата
Egor Zaytsev пишет:
Действительно одно время эта функция не работала и проблема была устранена в версии 6.15
У меня предложение: при анонсировании новой версии писать более подробно о новых возможностях, об устранении старых ошибок и, по возможности, о добавлении новых.
Цитата
OnCleanUp
Функция вызывается терминалом QUIK при смене сессии и при выгрузке файла qlua.dll.
Цитата
Egor Zaytsev пишет:
Под сменой сессии имеется ввиду дата торгов.
Это значит, что OnCleanUp вызывается при переподключении к серверу в новый торговый день ?
Когда происходит выгрузка файла qlua.dll?

Короче, что нужно сделать, чтобы был вызван колбек OnCleanUp?
Добрый день.

Сергей, извините, функция OnCleanUp не работает.
Мы изучим данный вопрос и вернемся к вам в ближайшее время.
 
огласите весь список, пожалуйста, какие ещё у вас функции то работают-то не работают от версии к версии???
или вы опять нам начнёте тут говорить, что мол, де, если всё расписывать в документации - то это займёт 200 страниц???
 
Цитата
sam063rus пишет:
огласите весь список, пожалуйста, какие ещё у вас функции то работают-то не работают от версии к версии???
или вы опять нам начнёте тут говорить, что мол, де, если всё расписывать в документации - то это займёт 200 страниц???
Добрый день.

С функцией OnCleanUp действительно вышла заминка.
Мы этим вопросом разберемся и дадим ответ.
 
Добрый день.

Ошибка будет исправлена в следующей версии программы.
 
Цитата
Egor Zaytsev пишет:
Ошибка будет исправлена в следующей версии программы.
ОК. Добавьте также нормальное описание этой функции, бо у меня вопрос так и остался:
Цитата
Серж пишет:
Это значит, что OnCleanUp вызывается при переподключении к серверу в новый торговый день ?
Когда происходит выгрузка файла qlua.dll?

Короче, что нужно сделать, чтобы был вызван колбек OnCleanUp?
Надо делать так, как надо. А как не надо - делать не надо.
 
1. при запуске скрипта запоминаете:
     TRADEDATE=getInfoParam("TRADEDATE")
2. в OnConnected() опять вызываете
     tradedate=getInfoParam("TRADEDATE") и если tradedate~=TRADEDATE
     то меняете значение:
     TRADEDATE=tradedate и
     далее делаете то, что хотели бы делать при OnCleanUp().
Lbot3D
 
Цитата
Egor Zaytsev пишет:
Цитата
sam063rus пишет:
огласите весь список, пожалуйста, какие ещё у вас функции то работают-то не работают от версии к версии???
или вы опять нам начнёте тут говорить, что мол, де, если всё расписывать в документации - то это займёт 200 страниц???
Добрый день.

С функцией OnCleanUp действительно вышла заминка.
Мы этим вопросом разберемся и дадим ответ.
Добрый день,


Описанная в данном инциденте ошибка была исправлена в версии 7.0.0 терминала QUIK.
Данная версия терминала была выслана всем брокерам, использующим систему QUIK вчера, 07.10.2015, в установленном порядке передачи обновлений .
Рекомендуем Вам дождаться обновления версии терминала у Вашего брокера и обновить Ваш терминал.

Приносим извинения за причиненные неудобства.
 
Цитата
Egor Zaytsev пишет:
Под сменой сессии имеется ввиду дата торгов.
Из Руководства пользователя QLua:
Цитата
OnCleanUp
Функция вызывается терминалом QUIK при смене сессии.

Примечание:
Под сменой сессии подразумевается изменение идентификатора сессии при подключении к серверу QUIK.
Из Изменения в Рабочем месте QUIK 7.0.0:
Цитата
39.  Исправлена обработка события OnCleanUp. Теперь событие вызывается при смене даты торгов на сервере QUIK.
Вы можете определённо сказать, что является критерием для вызова колбека OnCleanUp()?
Насколько я понимаю, идентификатор сессии меняется после рестарта сервера, что не обязательно совпадает со сменой даты торгов. Верно?
Надо делать так, как надо. А как не надо - делать не надо.
 
Добрый день.
Идентификатор сессии может смениться при подключении терминала на другой сервер, смене торгового дня на сервере или рестарта сервера в течении дня с очисткой данных.  
 
Так, а на вопрос вы не ответили:
Цитата
Старатель пишет:
Вы можете определённо сказать, что является критерием для вызова колбека OnCleanUp()?
В разных источниках - разная информация.
Надо делать так, как надо. А как не надо - делать не надо.
 
При нормальных условиях работы "Смена даты торгов на сервере QUIK" является наиболее возможной причиной смены идентификатора сессии для терминала. Я перечислил все возможные случаи.
 
Цитата
Michael Bulychev пишет:
При нормальных условиях работы " Смена даты торгов на сервере QUIK" является наиболее возможной причиной смены идентификатора сессии для терминала. Я перечислил все возможные случаи.
Михаил. Простите меня, я читаю вопросы и ответы и до меня точно также не доходит.

Когда вызывается onCleanUp()?

Необходим точный и исчерпывающий список событий.
Перечисление "наиболее возможных" причин - это несерьёзно. Фраза из документации, что вызов происходит при смене сессии, говорит не больше ("веревка есть вервие простое").

Спасибо.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Или написанное вами нужно понимать так, что существует исключительно 3 причины для вызова onCleanUp:

1. подключении терминала на другой сервер,
2. смене торгового дня на сервере
3. рестарта сервера в течении дня с очисткой данных.

Других причин не существует, как маловерояных, так и иных.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Также возникает ещё следующий вопрос:
Всегда ли дата торгов на сервере QUIK сопровождается сменой идентификатора сессии?
Надо делать так, как надо. А как не надо - делать не надо.
 
Если отвечать формально, то идентификатор сессии можно посмотреть в терминале, в информационном окне. Когда при подключении к серверу терминал получает новый идентификатор, то случается событие OnCleanUp().
Все возможные причины я перечислил выше.
 
Внутри колбека OnCleanUp() "Идентификатор сессии" и "Дата торгов" остаются старыми. Так и должно быть?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель пишет:
Внутри колбека OnCleanUp() "Идентификатор сессии" и "Дата торгов" остаются старыми. Так и должно быть?
Здравствуйте.

Да, верно.
Страницы: 1
Читают тему
Наверх