<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; SetUpdateCallback возвращает Lua-стек в котором нет таблицы]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=409&amp;type=atom" />
	<updated>2022-10-11T07:33:24Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=409</id>
		<entry>
			<title type="html"><![CDATA[Re: SetUpdateCallback возвращает Lua-стек в котором нет таблицы]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=3810#p3810" />
			<content type="html"><![CDATA[<p>И опять Вы правы!<br />Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[Serg_]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3371</uri>
			</author>
			<updated>2022-10-11T07:33:24Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=3810#p3810</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SetUpdateCallback возвращает Lua-стек в котором нет таблицы]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=3809#p3809" />
			<content type="html"><![CDATA[<p>Вы с Lua кодом сравните, который выполняет аналогичные действия.</p><p>Справка про SetUpdateCallback:</p><div class="quotebox"><blockquote><p>В качестве параметра принимает функцию обратного вызова. Формат функции обратного вызова:<br />function call_back(NUMBER index)<br />index – <strong>номер изменившейся свечки</strong>.</p></blockquote></div><p>В callback передается номер свечки (по идее число, не строка).<br />А таблица с параметрами получается вызовом ds:T(index)</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2022-10-11T05:12:53Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=3809#p3809</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[SetUpdateCallback возвращает Lua-стек в котором нет таблицы]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=3808#p3808" />
			<content type="html"><![CDATA[<p>Какая то странность.</p><p>Вызываю CreateDataSource их С++ с заведомо такими параметрами акций по которым в квике нет загруженных данных.</p><p>То есть CreateDataSource&nbsp; - возвращает пустую таблицу и я вызываю SetUpdateCallback:</p><br /><div class="codebox"><pre><code>        lua_getfield(L, index, &quot;SetUpdateCallback&quot;);                    //&quot;Извлекаем&quot; из &quot;таблицы&quot; функцию SetUpdateCallback.

    lua_pushvalue(L, index);                                        //Помещаем копию обьекта таблицы на вершину стека.

    lua_pushcfunction(L, my_callback_);                       //Помещаем имя Сишой callback функции таблицы на вершину стека.

    int status_lua_pcall = lua_pcall(L, 2, 0, 0);              //Реализую вызов метода SetUpdateCallback</code></pre></div><br /><br /><div class="codebox"><pre><code>static int my_callback_(lua_State* L)
{
    std::cout &lt;&lt; &quot;my_callback_:&quot; &lt;&lt; lua_gettop(L) &lt;&lt; std::endl;

    status = lua_isstring(L, 1);
    if (status == 1)
    {
          std::cout&lt;&lt; &quot;lua_isstring:&quot;&lt;&lt; lua_tostring(L,1) &lt;&lt; std::endl ;
    }
    return 0;
}</code></pre></div><br /><p>И с одной стороны все нормально, my_callback_ - вызывается, НО с другой стороны - я ожидаю там увидеть таблицу запалённую данными свечей, а приходит строка:</p><div class="codebox"><pre><code>1
2
3
4
5
6
...
итд</code></pre></div><p>Такое ощущение, как будто бы похоже на размер таблицы, но в какой то момент это число доходит до 3007 и после этого так и приходит 3007 с последующими вызовами my_callback_ .</p><p>Непосредственно в скрипте Lua в квике такой странности не наблюдается, все работает нормально.<br />Что это может быть ?</p>]]></content>
			<author>
				<name><![CDATA[Serg_]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3371</uri>
			</author>
			<updated>2022-10-10T18:39:03Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=3808#p3808</id>
		</entry>
</feed>
