Вопрос по BaseTrader.IsExportRunning
Atom
15.06.2010
Maxim


Добрый день. Ситуация:

  1. Квик запущен и соединен с сервером.

  2. Все таблицы настроены. Но открыта совсем другая вкладка.

  3. После соединения пытаюсь запустить DDE экспорт QuikTrader.StartExport()

  4. Выдается исключение с меседжем <>

  5. В блоке catch пытаюсь обработать эту ситуацию и корректно закрыть соединение с Квик. Для это пишу следующее:

            if (Global.Quik != null)
             {
                 if (Global.Quik.IsConnected ==
    

true) Global.Quik.Disconnect();

               if (Global.Quik.IsExportRunning == true)
                    Global.Quik.StopExport();

               Global.Quik.Dispose();
                Global.Quik = null;
            }
  1. Но вместо того, что бы выдать false, поле BaseTrader.IsExportRunning выдает true. Хотя QuikTrader.StartExport() выдало исключение.

Это баг или фича? То что BaseTrader.IsExportRunning выдает true, несмотря на то что QuikTrader.StartExport() закончилось с исключением.

Если это фича, то как порекомендуете корректно заканчивать работу с Quik?


Теги:


Спасибо:


1 2  >
Mikhail Sukhov

Фотография
Дата: 15.06.2010
Ответить


  1. За IsExportRunning спасибо. Теперь возвожу флаг в true после запуска экспорта, а не до.
  2. Закрывать все соединение не нужно с Квиком. Просто перезапустите еще раз метод StartExport.
Спасибо:

Maxim

Фотография
Дата: 15.06.2010
Ответить


Спасибо. Буду ждать обновления.

Пере запускать StartExport нет резона, так как закладка открыта в Квике не та. Надо корректно закрыть соединение, изменить закладку и запустить заново.

Правильно я понимаю, что реализовать так, что бы DDE стартовало не зависимо от того, какая закладка сейчас открыта в Квике -- нет возможности?

Спасибо:

Mikhail Sukhov

Фотография
Дата: 16.06.2010
Ответить


  1. Зачем для смены закладки нужно закрывать соединение?
  2. Есть возможность. А что, так не работает?
Спасибо:

Maxim

Фотография
Дата: 16.06.2010
Ответить


Я понял Ваш вопрос. Просто у меня кнопки соединится с Квик и старт DDE объединены в одну. Поэтому если соединится сходу не получается и запустить DDE, то я все останавливаю и говорю пользователю что надо исправить, что бы заработало.

Так не работает. Если под так подразумевается запуск DDE, если открыта не та закладка в Квике.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 16.06.2010
Ответить


Ок, сделать поддержку закладок к следующему билду.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 16.06.2010
Ответить


Проверил на разных закладках - все работает.

Спасибо:

Maxim

Фотография
Дата: 16.06.2010
Ответить


Маленькое уточнение.

<<Проверил на разных закладках - все работает. >> Вы пробовали подключать DDE, когда открыта другая закладка?

Или подключились по DDE когда открыта нужная закладка, а потом переключались на другую закладку и все работало?

Второй вариант у меня то же получается. Не получается первый вариант.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 16.06.2010
Ответить


Я сделал так. Создал две закладки, переместил таблицы инструменты и заявки во второую закладку. Стартанул ДДЕ по всем таблицам (из первой и второй). Все пошло. Что я упустил?

Спасибо:

Maxim

Фотография
Дата: 16.06.2010
Ответить


Поэкспериментировал.

Исключение появляется в том случае, если открыта другая вкладка и в ней развернут на весь экран график.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 17.06.2010
Ответить


Подтверждаю. Сделал фикс - будет в новой версии.

Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy