Всем доброе утро!
Взял ночную сборку 4.4.17. В этой версии вместо традиционных коннекторов рекомендуется использовать новый класc Connector,
Я взял тестовый пример SampleConnection из дистрибутива, скомпилировал его, запустил, создал два тестовых подключения к Quik и к MT4. Все заработало.
Взял сформированный файл - connection.xml и поместил в свою директорию . Модифицировал свой код путем замены старых коннекторов на новый класс Connector, скомпилировалось без ошибок. Все запустилось. Получился следующий код:
_tradeGrid.Trader = new Connector();
_tradeGrid.Trader.Connected += () => this.Dispatcher.BeginInvoke((Action)(() => this.Connected()));
_tradeGrid.Trader.Disconnected += () => this.Dispatcher.BeginInvoke((Action)(() => this.Disconnected()));
_tradeGrid.Trader.Error += errors => this.Dispatcher.BeginInvoke((Action)(() => this.Error(errors)));
_tradeGrid.Trader.NewPortfolios += portfolios => this.Dispatcher.BeginInvoke((Action)(() => this.PortfoliosChanged(portfolios)));
_tradeGrid.Trader.NewSecurities += securities => this.Dispatcher.BeginInvoke((Action)(() => this.SecuritiesChanged(securities)));
_tradeGrid.Trader.NewTrades += trades => this.Dispatcher.BeginInvoke((Action)(() => this.TradesChanged(trades)));
_tradeGrid.Trader.MarketDepthsChanged += marketDepths => this.Dispatcher.BeginInvoke((Action)(() => this.MarketDepthsChanged(marketDepths)));
... string settingsFile = _tradeGrid.LocalStoragePath() + "\" + "connection.xml"; try { if (File.Exists(settingsFile)) { var ctx = new ContinueOnExceptionContext(); ctx.Error += ex => ex.LogError(); using (new Scope<ContinueOnExceptionContext>(ctx)) _tradeGrid.Trader.Load(new XmlSerializer<SettingsStorage>().Deserialize(settingsFile)); } } catch } _tradeGrid.Trader.Connect();
Подключения не происходит , приходит ошибка в обработчик со следующим текстом: {"Необходимо создать хотя бы одно подключение."}
Что я делаю не верно?!
Спасибо!
Comentários (7)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Добрый день
Скажите, при загрузке файла были ли у вас какие-то ошибки (обратите внимание, catch у вас стоит пустым)? Путь к файлу программа корректно определяет и видит его?
Нет, при загрузке файла ошибки не было. Путь корректный, в catch не заходит. Вот это событие срабатывает: _tradeGrid.Trader.Error += errors => this.Dispatcher.BeginInvoke((Action)(() => this.Error(errors)));
Пожалуйста, пришлите текст ошибки.
Спасибо!
Разобрался сам. Не хватало вот этих двух строчек в коде:
После их добавления все заработало.
Доброго дня! Запускаю ту же сборку, что и у Вас , но в VisualStudia 2015 показывает кучу ошибок (скрин https://stocksharp.ru/file/110372 ) и соответственно не компилируется. Подскажите, пожалуйста, как ее правильно запускать 😂
Я бы посоветовал поставить Visual Studio 2019 и попробовал бы скомпилировать в ней.
Спасибо, буду по-разному пробовать )
Вот это, кстати, не помогло " [RU] ВАЖНО: На некоторых системах скаченный ZIP файл блокируется и распакованные из него сборки могут не работать в Visual Studio. До распаковки, нажмите правой кнопкой на ZIP файл, выберите в контекстном меню Свойства, и нажмите в закладке Общие кнопку Разблокировать, если она присуствует в правом нижнем углу окна (если не присутствует, значит разблокировка НЕ требуется). "