Помогите, пожалуйста, StartDde ругается
~/topic/818/pomogite-pozhaluista-startdde-rugaetsya/
Copyright @ StockSharp Platform LLC 2010 - 2024
2024-03-29T14:30:02Z
https://stocksharp.com/images/logo.png
https://stocksharp.com/posts/m/1023/
Извиняюсь, не удосужился прочитать соседнюю ветку, из события Connected все нормально работает!
2010-07-11T20:46:00Z
2010-07-11T20:46:00Z
Garry
https://stocksharp.com/users/430/
info@stocksharp.com
Извиняюсь, не удосужился прочитать соседнюю ветку, из события<br />Connected все нормально работает!<br /><br />
Copyright @ StockSharp Platform LLC 2010 - 2024
https://stocksharp.com/posts/m/1022/
В дебаргере посмотрел quik соединяется, this.Trader.StartDde(); выдает исключение. При этом этот же ...
2010-07-11T18:25:00Z
2010-07-11T18:25:00Z
Garry
https://stocksharp.com/users/430/
info@stocksharp.com
В дебаргере посмотрел quik соединяется, this.Trader.StartDde();<br />выдает исключение. При этом этот же quik с этими же настройками<br />стартует DDE, если запускать из примера в 2.1 <br />
Copyright @ StockSharp Platform LLC 2010 - 2024
https://stocksharp.com/posts/m/1021/
Решил перейти с версии 1.8 на 2.1 но при старте DDE выдается исключение: "Нет информации о главном о...
2010-07-11T18:08:00Z
2010-07-11T18:08:00Z
Garry
https://stocksharp.com/users/430/
info@stocksharp.com
Решил перейти с версии 1.8 на 2.1 но при старте DDE выдается<br />исключение: "Нет информации о главном окне Quik.Возможно, было<br />неуспешное подключение." При этом примеры из 2.1 работают. Verifer<br />только ошибку о колонке Статус в таблице инструментов, что она должна<br />имет индекс 4. Но при этом примеры то работают, а точно такой же код у<br />меня в проекте не работает. Может где-то что-то упустил, не знаю куда<br />и смотреть. Ссылки все из проекта удалил, библиотеки тоже все заменил,<br />все ошибки поправил. Вот код кнопки подключения.<br /><br />private void button1_Click(object sender, EventArgs e)<br /> {<br /> if (!_isConnected)<br /> {<br /> if (globalsett1.quickpath.IsEmpty())<br /> MessageBox.Show("Путь к Quik не указан");<br /> else<br /> {<br /> if (this.Trader == null)<br /> {<br /> // создаем шлюз<br /><br /> try<br /> {<br /> this.Trader = new<br />QuikTrader(globalsett1.quickpath) { IsFullDdeExport = true };<br /> var columns =<br />this.Trader.SecuritiesTable.Columns;<br /><br />columns[columns.IndexOf(DdeSecurityColumns.LastTradeTime)] =<br />DdeSecurityColumns.LastChangeTime;<br /><br />columns.Add(DdeSecurityColumns.MinStepPrice);<br /><br /> this.Trader.NewSecurities += securities =><br />treeView1.BeginInvoke((Action)(()=><br /> {<br /> tree_sec_add(securities);<br /> tree_view_refresh();<br /> }));<br /><br /> this.Trader.SecuritiesChanged += securities =><br />dataGridView1.BeginInvoke((Action)(() =><br /> {<br /> grid_refresh();<br /> }));<br /> // создаем менеджер переподключения (будет<br />автоматически соединяться<br /> // каждые 10 секунд, если шлюз потеряется<br />связь с сервером)<br /> _reConnectionManager = new<br />ReConnectionManager(this.Trader, new Range<TimeSpan>[0],<br />TimeSpan.FromSeconds(10));<br /> _reConnectionManager.ConnectionRestored += ()<br />=><br /> {<br /> MessageBox.Show("Соединение<br />восстановлено");<br /> //Thread.Sleep(20 * 1000);<br /> this.Trader.Reconnect();<br /> StartDde();<br /> //this.Trader.IsAsyncMode = true;<br /><br /> };<br /> this.Trader.ConnectionError += error =><br />MessageBox.Show("Соединение с Quik потеряно, предпринимается попытка<br />перподключения");<br /> this.Trader.Connect();<br /> StartDde();<br /> //this.Trader.IsAsyncMode = true;<br /> // возводим флаг, что соединение установлено<br />(происходит автоматически при создании шлюза)<br /> _isConnected = true;<br /> this.button1.Text = "Отключиться";<br /> }<br /> catch (Exception a)<br /> {<br /> MessageBox.Show(a.Message.ToString());<br /> this.Trader.Dispose();<br /> this.Trader = null;<br /> }<br /> }<br /> else<br /><br /> try<br /> {<br /><br /> this.Trader.Connect();<br /> //this.Trader.IsAsyncMode = true;<br /> StartDde();<br /> _isConnected = true;<br /> this.button1.Text = "Отключиться";<br /> }<br /> catch (Exception b)<br /> {<br /> MessageBox.Show(b.Message.ToString());<br /> this.Trader.Dispose();<br /> this.Trader = null;<br /> }<br /><br /> }<br /> }<br /> else<br /> {<br /> try<br /> {<br /> this.Trader.Disconnect();<br /> StopDde();<br /> _isConnected = false;<br /> this.button1.Text = "Соединиться";<br /> }<br /> catch (Exception c)<br /> {<br /> MessageBox.Show(c.Message.ToString());<br /> this.Trader.Dispose();<br /> }<br /> }<br /> }<br /><br />private void StartDde()<br /> {<br /> _isDdeStarted = true;<br /> this.Trader.StartDde();<br /> }<br /><br /> private void StopDde()<br /> {<br /> this.Trader.StopDde();<br /> _isDdeStarted = false;<br /> }<br /><br />При старте StartDde() выдается исключение.<br />Помогите пожалуйста советом! <br />
Copyright @ StockSharp Platform LLC 2010 - 2024