Превышено максимальное количество одновременных подключений

Превышено максимальное количество одновременных подключений
Atom
09.03.2010
Pulsar


Добрый день. При первом запуске робота все нормально. При втором - вылетает ошибка : Failed Сообщение Connection failed at step 4 with error 233. Одновременно Квик пишет САБЖ. Лечится залезанием в Диспетчер задач Виндовса и отключением оставшегося в памяти процесса (хотя приложения такого уже в списке нет). В чем собака порылась?


Теги:


Спасибо:


1 2  >
Mikhail Sukhov

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


Собака порылось в том, что Квик не умеет работать с 2-мя подключениями. Нужно спец. шаманские действия производить. А что за приложение остается в памяти? Мой пример? Какой?

Спасибо:

Pulsar

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


Нет, это не ваш пример. Это мой собственный простейший привод (с именем "Привод") всего с двумя кнопками ("Купить по рынку", "Продать по рынку"). Сделан был исключительно с целью ознакомления с основными принципами работы вашей библиотеки, поскольку мне, незнакомому с C#, пришлось реализовывать эти простейшие механизмы (подключение, запуск ДДЕ, получение цены, формирование и отправки заявки) под VB. То что Квик поддерживает только одно подключение - это я уже понял из смысла сообщения :). Вопрос в том что после закрытия приложения "Привод", в списке процессов Диспетчера задач остается процесс "Привод", который и занимает это соединение. Теперь я пытаюсь понять с чем это может быть связано, и что за те самые шаманские действия? Остановка ДДЕ по выходу из приложения "Привод" не помогла.

Спасибо:

Mikhail Sukhov

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


QuikTrader.Dispose вызывали?

Спасибо:

Pulsar

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


Нет. Это что? Не нашел описания в вашем Хелпе.

Спасибо:

Mikhail Sukhov

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


Логично - не написал.

В кратце, new QuikTrader - выделяет ресурсы. Dispose - их освобождает.

StopDde - это лишь остановка экспорта. Его тоже нужно вызывать, но это лишь для того, чтобы Квик не ругался и было корректное завершение экспорта.

Вот что пишет документация, если интересно -

http://msdn.microsoft.com/ru-ru/library/system.idisposable.dispose.aspx

Но если не хочется вдаваться в подробности, просто запомните правило: перед закрытием программы вызывайте QuikTrader.Dispose.

Спасибо:

Pulsar

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


Ну я примерно так и понял. Применение метода действительно решило проблему. А поскольку метод системный а не библиотечный то его описания у вас и нет - тоже логично. Спасибо.

Спасибо:

Andrey

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


Михаил, у меня возникла следующая проблема c инициализацией/ деинициализацией QuikTrader

  1. Если я инициализирую QuikTrader и при этом квик выключен или не залогинен, то вылетит ошибка в trans2quik.dll - все правильно. после этого вызываю .Dispose - получаю ошибку от trans2quik.dll через какое-то время хочу заново запустить (инициализировать) QuikTrader - получаю ошибку "Элемент с тем же ключом уже добавлен" .

  2. тоже самое происходит если изначально QuikTrader - запустился нормально. но потом после отключения Квика - вызвать Dispose.

Помогите, пожалуйста, разобраться, как правильно свернуть работу приложения если квик не залогинен в момент завершения работы и как правильно потом начать работу, не выключая программу.

Спасибо:

Mikhail Sukhov

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


  1. Я не пробовал создавать QuikTrader при выключенном квике. Судя по ошибке - DDE создается и повторно выкидывает ошибку.
  2. То же самое - это значит ошибка? Возможно. Я не хотел оборачивать в try catch такие блоки, так как это может скрыть нужную ошибку. Поэтому нужно самостоятельно создавать перехват ошибок.
Спасибо:

Andrey

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


в try catch обернуть можно, но не понятно как отключать дде сервер. т.к. QuikTrader не хочет правильно выполнять Dispose: квик то отключен и раньше отключения дде, функция выдает ошибку из-за невозможности разорвать соединение с квиком.

Спасибо:

Mikhail Sukhov

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


Логично. Бага. Спасибо, буду править.

Спасибо:
1 2  >

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

loading
clippy