﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/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-07-13T06:01:37Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=818" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/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.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Извиняюсь, не удосужился прочитать соседнюю ветку, из события
Connected все нормально работает!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/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.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;В дебаргере посмотрел quik соединяется,  this.Trader.StartDde();
выдает исключение. При этом этот же quik с этими же настройками
стартует DDE, если запускать из примера в 2.1&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/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.ru/users/430/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Решил перейти с версии 1.8 на 2.1 но при старте DDE выдается
исключение: &amp;quot;Нет информации о главном окне Quik.Возможно, было
неуспешное подключение.&amp;quot; При этом примеры из 2.1 работают. Verifer
только ошибку о колонке Статус в таблице инструментов, что она должна
имет индекс 4. Но при этом примеры то работают, а точно такой же код у
меня в проекте не работает. Может где-то что-то упустил, не знаю куда
и смотреть. Ссылки все из проекта удалил, библиотеки тоже все заменил,
все ошибки поправил. Вот код кнопки подключения.&lt;/p&gt;
&lt;p&gt;private void button1_Click(object sender, EventArgs e)
{
if (!_isConnected)
{
if (globalsett1.quickpath.IsEmpty())
MessageBox.Show(&amp;quot;Путь к Quik не указан&amp;quot;);
else
{
if (this.Trader == null)
{
// создаем шлюз&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                   try
                    {
                        this.Trader = new
&lt;/code&gt;&lt;/pre&gt;
&lt;p IsFullDdeExport="true"&gt;QuikTrader(globalsett1.quickpath) ;
var columns =
this.Trader.SecuritiesTable.Columns;&lt;/p&gt;
&lt;p&gt;columns[columns.IndexOf(DdeSecurityColumns.LastTradeTime)] =
DdeSecurityColumns.LastChangeTime;&lt;/p&gt;
&lt;p&gt;columns.Add(DdeSecurityColumns.MinStepPrice);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                   this.Trader.NewSecurities += securities =&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;treeView1.BeginInvoke((Action)(()=&amp;gt;
{
tree_sec_add(securities);
tree_view_refresh();
}));&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                   this.Trader.SecuritiesChanged += securities =&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;dataGridView1.BeginInvoke((Action)(() =&amp;gt;
{
grid_refresh();
}));
// создаем менеджер переподключения (будет
автоматически соединяться
// каждые 10 секунд, если шлюз потеряется
связь с сервером)
_reConnectionManager = new
ReConnectionManager(this.Trader,  new Range&amp;lt;TimeSpan&amp;gt;[0],
TimeSpan.FromSeconds(10));
_reConnectionManager.ConnectionRestored += ()
=&amp;gt;
{
MessageBox.Show(&amp;quot;Соединение
восстановлено&amp;quot;);
//Thread.Sleep(20 * 1000);
this.Trader.Reconnect();
StartDde();
//this.Trader.IsAsyncMode = true;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                   };
                    this.Trader.ConnectionError += error =&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;MessageBox.Show(&amp;quot;Соединение с Quik потеряно, предпринимается попытка
перподключения&amp;quot;);
this.Trader.Connect();
StartDde();
//this.Trader.IsAsyncMode = true;
// возводим флаг, что соединение установлено
(происходит автоматически при создании шлюза)
_isConnected = true;
this.button1.Text = &amp;quot;Отключиться&amp;quot;;
}
catch (Exception a)
{
MessageBox.Show(a.Message.ToString());
this.Trader.Dispose();
this.Trader = null;
}
}
else&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;                   try
                    {

                       this.Trader.Connect();
                        //this.Trader.IsAsyncMode = true;
                        StartDde();
                        _isConnected = true;
                        this.button1.Text = &amp;quot;Отключиться&amp;quot;;
                    }
                    catch (Exception b)
                    {
                        MessageBox.Show(b.Message.ToString());
                        this.Trader.Dispose();
                        this.Trader = null;
                    }

           }
        }
        else
        {
            try
            {
                this.Trader.Disconnect();
                StopDde();
                _isConnected = false;
                this.button1.Text = &amp;quot;Соединиться&amp;quot;;
            }
            catch (Exception c)
            {
                MessageBox.Show(c.Message.ToString());
                this.Trader.Dispose();
            }
        }
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;private void StartDde()
{
_isDdeStarted = true;
this.Trader.StartDde();
}&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   private void StopDde()
    {
        this.Trader.StopDde();
        _isDdeStarted = false;
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;При старте StartDde() выдается исключение.
Помогите пожалуйста советом!&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>