← Voltar

Уже не работает удаление колонок

Здравствуйте, Михаил. В братской Украине где нет фьючерсов с новой версией S# проблемы. У нас в квике нет колонки DdeSecurityColumns.LastChangeTime, в версии S# 1.7 Спасало такое

//создаем шлюз this.Trader = new QuikTrader(this.Path.Text); Trader.SecuritiesTable.Columns.Remove(DdeSecurityColumns.LastChangeTime);

В версии 2.0 пробую // создаем шлюз this.Trader = new QuikTrader(this.Path.Text); this.Trader.Connect(); Trader.SecuritiesTable.Columns.Remove(DdeSecurityColumns.LastChangeTime);

не помогает. Подскажите плз, что делать.

-- С уважением,

Comentários (8)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

Mikhail Sukhov
Mikhail Sukhov

А что пишет?

Trading Tickers
Trading Tickers Autor

А ничего не пишет, просто не выводит таблицу Инструментов и все.

-- С уважением,

Mikhail Sukhov
Mikhail Sukhov

Ок, а что пишет ITrader.ProcessDataError?

Trading Tickers
Trading Tickers Autor

ProcessDataError выдает две ошибки

http://dc257.file.qip.ru/download/128856347/71c452ee/_2__untitled2.JPG?tsid=20100514-022027-90526834

На место LasDateTime я поставил ISIN код бумаги, как и раньше в версии 1.7 Вот код:

                                           // создаем шлюз
                                            this.Trader = new QuikTrader(this.Path.Text);
                    this.Trader.ProcessDataError += error =>

this.Sync(() => MessageBox.Show(this, error.ToString()));

this.Trader.SecuritiesTable.Columns.Remove(DdeSecurityColumns.LastChangeTie); this.Trader.Connect();

                                           // возводим флаг, что соединение установлено
                                            _isConnected = true;

                                           // создаем менеджер переподключения
                                            _reConnectionManager = new ReConnectionManager(this.Trader);
                                            _reConnectionManager.ConnectionRestored += () => this.Sync(() =>

MessageBox.Show(this, "Соединение восстановлено"));

                                           this.Trader.ConnectionError += error => this.Sync(() =>

MessageBox.Show(this, error.ToString()));

                                           this.Trader.NewSecurities += securities => this.Sync(() =>

_securitiesWindow.Securities.AddRange(securities)); this.Trader.NewMyTrades += trades => this.Sync(() => _myTradesWindow.Trades.AddRange(trades)); this.Trader.NewTrades += trades => this.Sync(() => _tradesWindow.Trades.AddRange(trades)); this.Trader.NewOrders += orders => this.Sync(() => _ordersWindow.Orders.AddRange(orders)); this.Trader.NewStopOrders += orders => this.Sync(() => _stopOrderWindow.Orders.AddRange(orders));

Mikhail Sukhov
Mikhail Sukhov

Колонки необходимо заменять эквивалентными значения. Так Вы меняете DateTime на string. А если просто удалить LastChangeTime (без замены чем-то), то какая ошибка?

Mikhail Sukhov
Mikhail Sukhov

Дополнительно, при переходе с 1.7 на 1.8 изменился формат ДДЕ. Может быть проблема вовсе не в колонке со временем последнего изменения. Тем более что без нее должно работать.

Trading Tickers
Trading Tickers Autor

Михаил, попробовал удалить LastChangeTime без замены колонки. Вывод инструментов заработал. Но вначале все равно выскакивает ошибка "Невозможно для колонки transactionID привести значение к типу Int64" На картинке это первое сообщение.

http://dc257.file.qip.ru/download/128856347/71c452ee/_2__untitled2.JPG?tsid=20100518-130055-a98830e7

Я так понимаю это уже ваша какая-то внутренняя ошибка, т.к. колонка TransactionID в инструментах не настраивается?

Mikhail Sukhov
Mikhail Sukhov

Ctrl+Ins работает на диалоговых окнах.

Верхняя ошибка говорит о том, что у Вас неправильно настроена таблица с заявка и стоп-заявками. Порядок правильный колонок?