Ошибка метода Launch для терминала Quik

Ошибка метода Launch для терминала Quik
Atom
11/18/2010
Артем


Добрый день!
Помогите, пожалуйста, решить следующую проблему:

При вызове метода
Launch ()
для QuikTerminal terminal

должен осуществляться запуск терминала, при этом окончание выполнения метода наступает при появлении окна авторизации. Но, к сожалению, после появления окна метод так и продолжает висеть и слетает по таймауту...

Например:
terminal = QuikTerminal.Get(QuikPath);
terminal.Launch();//Тут все зависает

Скажите, пожалуйста, каким образом решается эта проблема?
Заранее благодарю!!!

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 11/18/2010
Reply


Ошибку тайм-аута можете привести?
Thanks:

Артем

Avatar
Date: 11/19/2010
Reply


Я недавно обновил библиотеку до 2.5.2, ранее стояла 2.5, - в новой версии логика запуска немного поменялась и при вызове метода Launch исключение Timeout больше не возникает. Но метод тем не менее отрабатывает неоправданно долго. - Окно с авторизацией появляется через 8 -10 секунд, а метод продолжает висеть. Вот пример:

//Выводим время старта в информационную панель
Globals.Сообщить("Запускаем Quik <" + DateTime.Now.ToString("dd.MM.yyyy H:mm:ss") + ">" , Globals.СтатусСообщения.Инфо);

terminal.Launch();

//Выводим время окончания работы метода в информационную панель
Globals.Сообщить("Quik запущен <" + DateTime.Now.ToString("dd.MM.yyyy H:mm:ss") + ">", Globals.СтатусСообщения.Инфо);


Получается следующая картина

Запускаем Quik <19.11.2010 9:18:31>

Quik запущен <19.11.2010 9:19:32>


Т.е. получается, что в принципе все работает, но расходуется чрезмерное количество времени на запуск Quik, механизм не отлавливает момент когда появилось окно с авторизацией.

Заранее спасибо за ответ!
Thanks:

Mikhail Sukhov

Avatar
Date: 11/19/2010
Reply


Артем

Т.е. получается, что в принципе все работает, но расходуется чрезмерное количество времени на запуск Quik, механизм не отлавливает момент когда появилось окно с авторизацией.

Заранее спасибо за ответ!


Есть такое. Дело в том, что если сразу запустить процесс логина как только появляется окно, то Квик начинает падать. Из-за чего это я не узнавал. Поэтому просто влепил еще одно ожидание на минуту. Процесс авто запуска Квика - это единичные случаи, поэтому не особо должно влиять на работу. Но могу сделать время ожидание настраиваемым.
Thanks:

Артем

Avatar
Date: 11/19/2010
Reply


Думаю, лучше сделать настраиваемым, т.к. минута - это нормально в рабочем режиме, но при отладке программы очень много. Спасибо!!!
Thanks:

Garry

Avatar
Date: 4/6/2011
Reply


Михаил, добрый день!
Тоже проблемы с методом
this.Trader.Terminal.Launch();
выдается исключение
"Сбой метода WaitForInputIdle. Это может быть связано с отсутствием у процесса графического интерфейса."
При этом квик нормально запускается. Еще проблема, если робота перезапустить, а квик оставить запущеным таким образом(т.е. роботом) то this.Trader.Terminal.IsLaunched квик не видит. Если квик закрыть и запустить руками, то this.Trader.Terminal.IsLaunched нормально отрабатывает. Ну это не так важно, главное это что можно придумать с исключением? Вы писали, что сделаете настраиваемым время таймаута Terminal.Launch(). Просто похоже исключение происходит как раз из-за него, окно с логином просто не успевает появиться, можно ли где-нибудь время ожидания подкрутить?
Thanks:

Alexander

Avatar
Date: 4/6/2011
Reply


Garry
Михаил, добрый день!
Тоже проблемы с методом
this.Trader.Terminal.Launch();
выдается исключение
"Сбой метода WaitForInputIdle. Это может быть связано с отсутствием у процесса графического интерфейса."
При этом квик нормально запускается. Еще проблема, если робота перезапустить, а квик оставить запущеным таким образом(т.е. роботом) то this.Trader.Terminal.IsLaunched квик не видит. Если квик закрыть и запустить руками, то this.Trader.Terminal.IsLaunched нормально отрабатывает. Ну это не так важно, главное это что можно придумать с исключением? Вы писали, что сделаете настраиваемым время таймаута Terminal.Launch(). Просто похоже исключение происходит как раз из-за него, окно с логином просто не успевает появиться, можно ли где-нибудь время ожидания подкрутить?


Какая версия S#?
Метод QuikTerminal.Launch перегружен и возможно запускать с параметром:
http://stocksharp.com/doc/help/html/O_T_Ecng_Trading_Quik_QuikTerminal_Launch.htm
Thanks:

Garry

Avatar
Date: 4/6/2011
Reply


Да уж извиняюсь, плохо смотрел документацию, спасибо!
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy