﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Помогите, пожалуйста, StartDde ругается</title>
  <id>~/topic/818/pomogite-pozhaluista-startdde-rugaetsya/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-17T08:38:35Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=818" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/1023/</id>
    <title type="text">Извиняюсь, не удосужился прочитать соседнюю ветку, из события Connected все нормально работает! </title>
    <published>2010-07-11T20:46:00Z</published>
    <updated>2010-07-11T20:46:00Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.com/users/430/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Извиняюсь, не удосужился прочитать соседнюю ветку, из события&lt;br /&gt;Connected все нормально работает!&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1022/</id>
    <title type="text">В дебаргере посмотрел quik соединяется, this.Trader.StartDde(); выдает исключение. При этом этот же ...</title>
    <published>2010-07-11T18:25:00Z</published>
    <updated>2010-07-11T18:25:00Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.com/users/430/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">В дебаргере посмотрел quik соединяется,  this.Trader.StartDde();&lt;br /&gt;выдает исключение. При этом этот же quik с этими же настройками&lt;br /&gt;стартует DDE, если запускать из примера в 2.1 &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/1021/</id>
    <title type="text">Решил перейти с версии 1.8 на 2.1 но при старте DDE выдается исключение: &amp;quot;Нет информации о главном о...</title>
    <published>2010-07-11T18:08:00Z</published>
    <updated>2010-07-11T18:08:00Z</updated>
    <author>
      <name>Garry</name>
      <uri>https://stocksharp.com/users/430/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Решил перейти с версии 1.8 на 2.1 но при старте DDE выдается&lt;br /&gt;исключение: &amp;quot;Нет информации о главном окне Quik.Возможно, было&lt;br /&gt;неуспешное подключение.&amp;quot; При этом примеры из 2.1 работают. Verifer&lt;br /&gt;только ошибку о колонке Статус в таблице инструментов, что она должна&lt;br /&gt;имет индекс 4. Но при этом примеры то работают, а точно такой же код у&lt;br /&gt;меня в проекте не работает. Может где-то что-то упустил, не знаю куда&lt;br /&gt;и смотреть. Ссылки все из проекта удалил, библиотеки тоже все заменил,&lt;br /&gt;все ошибки поправил. Вот код кнопки подключения.&lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            if (!_isConnected)&lt;br /&gt;            {&lt;br /&gt;                if (globalsett1.quickpath.IsEmpty())&lt;br /&gt;                    MessageBox.Show(&amp;quot;Путь к Quik не указан&amp;quot;);&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if (this.Trader == null)&lt;br /&gt;                    {&lt;br /&gt;                        // создаем шлюз&lt;br /&gt;&lt;br /&gt;                       try&lt;br /&gt;                        {&lt;br /&gt;                            this.Trader = new&lt;br /&gt;QuikTrader(globalsett1.quickpath) { IsFullDdeExport = true };&lt;br /&gt;                            var columns =&lt;br /&gt;this.Trader.SecuritiesTable.Columns;&lt;br /&gt;&lt;br /&gt;columns[columns.IndexOf(DdeSecurityColumns.LastTradeTime)] =&lt;br /&gt;DdeSecurityColumns.LastChangeTime;&lt;br /&gt;&lt;br /&gt;columns.Add(DdeSecurityColumns.MinStepPrice);&lt;br /&gt;&lt;br /&gt;                       this.Trader.NewSecurities += securities =&amp;gt;&lt;br /&gt;treeView1.BeginInvoke((Action)(()=&amp;gt;&lt;br /&gt;                            {&lt;br /&gt;                                tree_sec_add(securities);&lt;br /&gt;                                tree_view_refresh();&lt;br /&gt;                            }));&lt;br /&gt;&lt;br /&gt;                       this.Trader.SecuritiesChanged += securities =&amp;gt;&lt;br /&gt;dataGridView1.BeginInvoke((Action)(() =&amp;gt;&lt;br /&gt;                        {&lt;br /&gt;                            grid_refresh();&lt;br /&gt;                        }));&lt;br /&gt;                        // создаем менеджер переподключения (будет&lt;br /&gt;автоматически соединяться&lt;br /&gt;                        // каждые 10 секунд, если шлюз потеряется&lt;br /&gt;связь с сервером)&lt;br /&gt;                        _reConnectionManager = new&lt;br /&gt;ReConnectionManager(this.Trader,  new Range&amp;lt;TimeSpan&amp;gt;[0],&lt;br /&gt;TimeSpan.FromSeconds(10));&lt;br /&gt;                        _reConnectionManager.ConnectionRestored += ()&lt;br /&gt;=&amp;gt;&lt;br /&gt;                       {&lt;br /&gt;                           MessageBox.Show(&amp;quot;Соединение&lt;br /&gt;восстановлено&amp;quot;);&lt;br /&gt;                            //Thread.Sleep(20 * 1000);&lt;br /&gt;                           this.Trader.Reconnect();&lt;br /&gt;                            StartDde();&lt;br /&gt;                            //this.Trader.IsAsyncMode = true;&lt;br /&gt;&lt;br /&gt;                       };&lt;br /&gt;                        this.Trader.ConnectionError += error =&amp;gt;&lt;br /&gt;MessageBox.Show(&amp;quot;Соединение с Quik потеряно, предпринимается попытка&lt;br /&gt;перподключения&amp;quot;);&lt;br /&gt;                        this.Trader.Connect();&lt;br /&gt;                        StartDde();&lt;br /&gt;                        //this.Trader.IsAsyncMode = true;&lt;br /&gt;                        // возводим флаг, что соединение установлено&lt;br /&gt;(происходит автоматически при создании шлюза)&lt;br /&gt;                        _isConnected = true;&lt;br /&gt;                        this.button1.Text = &amp;quot;Отключиться&amp;quot;;&lt;br /&gt;                        }&lt;br /&gt;                        catch (Exception a)&lt;br /&gt;                        {&lt;br /&gt;                            MessageBox.Show(a.Message.ToString());&lt;br /&gt;                            this.Trader.Dispose();&lt;br /&gt;                            this.Trader = null;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;&lt;br /&gt;                       try&lt;br /&gt;                        {&lt;br /&gt;&lt;br /&gt;                           this.Trader.Connect();&lt;br /&gt;                            //this.Trader.IsAsyncMode = true;&lt;br /&gt;                            StartDde();&lt;br /&gt;                            _isConnected = true;&lt;br /&gt;                            this.button1.Text = &amp;quot;Отключиться&amp;quot;;&lt;br /&gt;                        }&lt;br /&gt;                        catch (Exception b)&lt;br /&gt;                        {&lt;br /&gt;                            MessageBox.Show(b.Message.ToString());&lt;br /&gt;                            this.Trader.Dispose();&lt;br /&gt;                            this.Trader = null;&lt;br /&gt;                        }&lt;br /&gt;&lt;br /&gt;               }&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                try&lt;br /&gt;                {&lt;br /&gt;                    this.Trader.Disconnect();&lt;br /&gt;                    StopDde();&lt;br /&gt;                    _isConnected = false;&lt;br /&gt;                    this.button1.Text = &amp;quot;Соединиться&amp;quot;;&lt;br /&gt;                }&lt;br /&gt;                catch (Exception c)&lt;br /&gt;                {&lt;br /&gt;                    MessageBox.Show(c.Message.ToString());&lt;br /&gt;                    this.Trader.Dispose();&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;private void StartDde()&lt;br /&gt;        {&lt;br /&gt;            _isDdeStarted = true;&lt;br /&gt;            this.Trader.StartDde();&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       private void StopDde()&lt;br /&gt;        {&lt;br /&gt;            this.Trader.StopDde();&lt;br /&gt;            _isDdeStarted = false;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;При старте StartDde() выдается исключение.&lt;br /&gt;Помогите пожалуйста советом! &lt;br /&gt; </content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>