<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Что не так с функцией message??]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Что не так с функцией message?? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 27 Apr 2026 17:37:01 +0300</pubDate>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33034/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_6cYkDNa2" href="/user/107/" bx-tooltip-user-id="107">Constantin</a> написал:<br /><br />====quote====<br /> Павел Валин &nbsp; написал:<br />message(&quot;message test: &quot;..sz(ds)) -- отрабатываем<br />message(&quot;message test: &quot;..sz()) -- тут падаем))))<br />=============<br />Ну там у вас строки команд отличаются - во втором случае не передается нужный параметр.<br />=============<br />да не. я тупанул сам.<br />просто есть функции которые получают первым параметром свою же таблицу.<br />ds.Size(ds) == ds:Size()<br /><br />а есть которым не нужна ссылка на self.<br />типа math.abs(x)<br />т.е. если описывать работу с DataSource, то вызов всех функций в возвращаемой таблице происходит как DSTable.Size(DSTable), DSTable.C(DSTable,Index) == DSTable:C(Index)<br />и определить, какие функции требуют self в качестве первого аргумента, а какие нет невозможно. я пока не понял как это сделать (( <br />
			<i>30.08.2018 14:22:03, Павел Валин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33034/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33034/topic3931/</guid>
			<pubDate>Thu, 30 Aug 2018 14:22:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33033/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rJ3GFEsD" href="/user/1673/" bx-tooltip-user-id="1673">Павел Валин</a> написал:<br />message(&quot;message test: &quot;..sz(ds)) -- отрабатываем<br />message(&quot;message test: &quot;..sz()) -- тут падаем))))<br />=============<br />Ну там у вас строки команд отличаются - во втором случае не передается нужный параметр. <br />
			<i>30.08.2018 14:14:14, Constantin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33033/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33033/topic3931/</guid>
			<pubDate>Thu, 30 Aug 2018 14:14:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message33027/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_JbZVX7Yt" href="/user/1406/" bx-tooltip-user-id="1406">Антон</a>, согласен<br />недосмотр. путаница вышла при создании врапера для CreateDataSource<br />
====code====
<pre>isRun = true

function main()
&nbsp;&nbsp;ds,err=CreateDataSource("SPBFUT","RIU8",INTERVAL_M1)
&nbsp;&nbsp;sz = ds.Size
&nbsp;&nbsp;while(isRun) do
&nbsp;&nbsp;&nbsp;&nbsp;message("message test: "..sz(ds)) -- отрабатываем
&nbsp;&nbsp;&nbsp;&nbsp;message("message test: "..sz()) -- тут падаем))))
&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;end
&nbsp;&nbsp;ds:Close()
end

function OnStop()
&nbsp;&nbsp;isRun = false
end
</pre>
=============
пришлось оборачивать весь глобальный контекст в отдельный класс.<br />
====code====
<pre>LMain.message("isConnected: " + LMain.isConnected()+ ", DataSource Size: " + ds.Size() + " CLOSE Last candle" + ds.C(ds.Size()));</pre>
=============
&quot;isConnected: 0, DataSource Size: 9326 CLOSE Last candle 108490&quot; <br />
			<i>30.08.2018 12:20:42, Павел Валин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message33027/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message33027/topic3931/</guid>
			<pubDate>Thu, 30 Aug 2018 12:20:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32998/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Sal6Pux5" href="/user/1673/" bx-tooltip-user-id="1673">Павел Валин</a> написал:<br />Это уже вопрос десятый. Мне просто интересно, почему все функции ведут себя ожидаемо работают, а эта глючит. У меня dll ка падает из за этого глюка))))<br />=============<br />Разве она работает не ожидаемо?) 1й параметр - строка, а вы туда таблицу передаете. <br /><br />и в isConnected тоже. Ненадо так делать) 2я функция не не падает потому что без параметров вызывается и просто игнорит то что вы ей там передаете. <br />
====code====
<pre>msg("msg test: "..iscon())
</pre>
=============
и все... копирование вообще не при делах. <br />
			<i>30.08.2018 01:05:15, Антон.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32998/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32998/topic3931/</guid>
			<pubDate>Thu, 30 Aug 2018 01:05:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32996/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_EI9FUndl" href="/user/7362/" bx-tooltip-user-id="7362">Enfernuz</a> написал:<br />А зачем _G передавать первым аргументом?<br />=============<br /><br />Это уже вопрос десятый. Мне просто интересно, почему все функции ведут себя ожидаемо работают, а эта глючит. У меня dll ка падает из за этого глюка)))) <br />
			<i>29.08.2018 22:48:24, Павел Валин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32996/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32996/topic3931/</guid>
			<pubDate>Wed, 29 Aug 2018 22:48:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32995/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А зачем _G передавать первым аргументом? <br />
			<i>29.08.2018 22:33:27, Enfernuz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32995/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32995/topic3931/</guid>
			<pubDate>Wed, 29 Aug 2018 22:33:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что не так с функцией message??</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32993/topic3931/">Что не так с функцией message??</a></b> <i>проблемы с вызовом message из глобальной таблицы</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Что не так с вызовом функции message через глобальную таблицу ?<br />
====code====
<pre>isRun = true

function main()
&nbsp;&nbsp;msg&nbsp;&nbsp; = _G.message
&nbsp;&nbsp;iscon = _G.isConnected
&nbsp;&nbsp;while(isRun) do
&nbsp;&nbsp;&nbsp;&nbsp;msg (_G,"msg test: "..iscon(_G))
&nbsp;&nbsp;&nbsp;&nbsp;message("message test: "..iscon(_G))
&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;end
end

function OnStop()
&nbsp;&nbsp;isRun = false
end</pre>
=============
<br />в версии quik 7.19.0.51<br /><br />при запуске такого скрипта, в сообщения будет попадать только <br />message test: 0<br /><br />а вот вывода msg test: 0 не происходит.<br /><br />это особенности функции message ? что её нельзя скопировать в другую переменную?<br />каждый раз что-то новое.. прям..... <br />
			<i>29.08.2018 20:45:47, Павел Валин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32993/topic3931/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32993/topic3931/</guid>
			<pubDate>Wed, 29 Aug 2018 20:45:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
