Всем доброе утро!
Взял ночную сборку 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();
Подключения не происходит , приходит ошибка в обработчик со следующим текстом: {"Необходимо создать хотя бы одно подключение."}
Что я делаю не верно?!
Спасибо!
Kommentare (7)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Добрый день
Скажите, при загрузке файла были ли у вас какие-то ошибки (обратите внимание, 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 файл, выберите в контекстном меню Свойства, и нажмите в закладке Общие кнопку Разблокировать, если она присуствует в правом нижнем углу окна (если не присутствует, значит разблокировка НЕ требуется). "