← 戻る

S# 4.3.10 QuikTerminal.IsConnected некорректна

Если я правильно понял, QuikTerminal.IsConnected для определения состояния подключения использует состояние иконки с "ключом". Но в Quik при активном окошке ввода пользователя и пароля состояние иконки = disabled, что для IsConnected = true. Окно ввода пользователя и пароля появляется автоматически при запуске терминала. Видимо, если успеть запросить состояние после запуска терминала, но перед появлением окошка, то ошибка не будет обнаружена.

このトピックは参考になりましたか?

トピックを共有

コメント (6)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

syuriv
syuriv 著者

Исправлять не будете?

Mikhail Sukhov
Mikhail Sukhov

syuriv: Исправлять не будете?

Нет потому что предположение о работе свойства неверное. Оно работает по другому и использовать его нужно по другому.

syuriv
syuriv 著者

Оно работает по другому и использовать его нужно по другому. Я сам пока его не использовал. Я только хотел посмотреть как его использует пример из проекта SampleQuikStartStopPublic Тем не менее в описании свойства сказано: Подключен ли терминал к торгам. Что я делаю не так что у меня оно возвращает true, в то время, как Quik ожидает ввода пользователя и пароля. Вот мои шаги:

  1. я ставлю breakpoint на строчке if (!terminal.IsConnected)
  2. запускаю проект
  3. дожидаюсь, что Quik запущен,
  4. убеждаюсь, что Quik ожидает ввод пользователя и пароля
  5. Проверяю значение свойства terminal.IsConnected

Я ожидаю, что свойство в этом состоянии должно вернуть false. Наблюдаю, что свойство возвращает значение true, хотя терминал ещё не подключен к торгам.

Буду благодарен за ответ!

Mikhail Sukhov
Mikhail Sukhov

syuriv: Что я делаю не так

  1. Платная тех поддержка у обучения.
  2. Бесплатное - через изучение исходников.
Валентин Лебедев

В квике вообще трудно однозначно определить подключен он к торгам или нет, много всяких ситуаций и нюансов. Я использую terminal.Login(login, password) без проверки на terminal.IsConnected, а для контроля подключения проверяю terminal.ServerTime на null.