<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Quik 8.6 Critical error ACCESS_VIOLATION]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Quik 8.6 Critical error ACCESS_VIOLATION форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 10 May 2026 01:56:13 +0300</pubDate>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message49045/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_NxbsgAEs" href="/user/115/" bx-tooltip-user-id="115">_sk_</a>, добрый день!<br /><br />Описанная в данном инциденте ошибка была исправлена в версии 8.9.0 терминала QUIK. Рекомендуем вам обновить версию программы.<br />Приносим извинения за причиненные неудобства. <br />
			<i>07.10.2020 09:09:16, Evgeniy Karnaukhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message49045/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message49045/topic5527/</guid>
			<pubDate>Wed, 07 Oct 2020 09:09:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48793/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vsSqZ54F" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br />У меня QLua валится при вызове Close(). Иногда срабатывает, но чаще ACCESS_VIOLATION.<br />=============<br />У меня ошибка со стеком была. <br />
			<i>30.09.2020 15:16:11, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48793/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48793/topic5527/</guid>
			<pubDate>Wed, 30 Sep 2020 15:16:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48786/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У меня QLua валится при вызове Close(). Иногда срабатывает, но чаще ACCESS_VIOLATION. <br />
			<i>30.09.2020 14:09:03, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48786/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48786/topic5527/</guid>
			<pubDate>Wed, 30 Sep 2020 14:09:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48707/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_h9eb1XdU" href="/user/14304/" bx-tooltip-user-id="14304">MG</a> написал:<br />Это не связано с вызовом CreateDataSource. Точно такая же ошибка была получена 25.09.2020 на вызовах OnAllTrade в 10:12:38 (последняя обработанная запись). Инструмент RIZ0. Терминал 8.7.0.6. До этого два или три года на версии 7 скрипт ни разу не зависал. И три или четыре дня, т.е. с 22.09.2020 тоже работал без сбоев, на этом же терминале 8.7.0.6. В Квике выглядит как остановленный скрипт, т.е. с &quot;красным квадратиком&quot;. Кнопки &quot;Запустить&quot; и &quot;Остановить&quot; - не активны. Если это поможет, то в main пусто (только цикл для isRun), а прямо в OnAllTrade примерно 15 строчек кода. Вызов CreateDataSource отсутствует.<br />=============<br />Добрый день.<br /><br />Как раз с этим вопросом мы и занимаемся. Как будет результат дадим здесь ответ. <br />
			<i>28.09.2020 09:51:16, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48707/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48707/topic5527/</guid>
			<pubDate>Mon, 28 Sep 2020 09:51:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48676/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это не связано с вызовом CreateDataSource. Точно такая же ошибка была получена 25.09.2020 на вызовах OnAllTrade в 10:12:38 (последняя обработанная запись). Инструмент RIZ0. Терминал 8.7.0.6. До этого два или три года на версии 7 скрипт ни разу не зависал. И три или четыре дня, т.е. с 22.09.2020 тоже работал без сбоев, на этом же терминале 8.7.0.6. В Квике выглядит как остановленный скрипт, т.е. с &quot;красным квадратиком&quot;. Кнопки &quot;Запустить&quot; и &quot;Остановить&quot; - не активны. Если это поможет, то в main пусто (только цикл для isRun), а прямо в OnAllTrade примерно 15 строчек кода. Вызов CreateDataSource отсутствует. <br />
			<i>26.09.2020 02:55:49, MG.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48676/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48676/topic5527/</guid>
			<pubDate>Sat, 26 Sep 2020 02:55:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48599/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_xuQPX4AA" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />Нет, не в колбеках.<br /><br />Вот схематичный скрипт, падающий с этой ошибкой.<br /><br /> 
====code====
<pre>&nbsp;&nbsp; local&nbsp;&nbsp; sleep&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;_G. sleep 
 local&nbsp;&nbsp;isRun&nbsp;&nbsp; =&nbsp;&nbsp; true 

 function&nbsp;&nbsp; _G.main ()

&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;sec_code&nbsp;&nbsp;=&nbsp;&nbsp; 'SRZ0' 
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;class_code&nbsp;&nbsp;=&nbsp;&nbsp; 'SPBFUT' 

&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;ds&nbsp;&nbsp;=&nbsp;&nbsp; _G.CreateDataSource (class_code, sec_code, _G.INTERVAL_M5)
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp; not&nbsp;&nbsp;ds&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRun&nbsp;&nbsp;=&nbsp;&nbsp; false 
&nbsp;&nbsp;&nbsp;&nbsp; end 

&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;index&nbsp;&nbsp;=&nbsp;&nbsp; 0 
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;isRun&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while&nbsp;&nbsp;isRun&nbsp;&nbsp;do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;last&nbsp;&nbsp;=&nbsp;&nbsp;ds: Size ()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;last ~ =&nbsp;&nbsp; 0&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while&nbsp;&nbsp;index&nbsp;&nbsp;&#60;&nbsp;&nbsp;last -&nbsp;&nbsp;1&nbsp;&nbsp; do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index&nbsp;&nbsp;=&nbsp;&nbsp;index&nbsp;&nbsp;+&nbsp;&nbsp; 1 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:T(index)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds: Close (last)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:T(last)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep ( 100 )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp; end 
 end 

&nbsp;&nbsp;</pre>
=============
 Он с ошибкой, как у меня было (Close вместо C). Но хотелось бы внятного сообщения, типа - попытка индексировать значение nil.<br /><br />И еще особенность: скрипт, упавший с этой ошибкой повторно не запустить, кнопка &quot;Запустить&quot; не активна. Приходится удалять и заново добавлять.<br />=============<br />Здравствуйте!<br /> <br /> Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ. <br />
			<i>24.09.2020 12:43:07, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48599/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48599/topic5527/</guid>
			<pubDate>Thu, 24 Sep 2020 12:43:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48571/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UvHlZvZa" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />Нет, не в колбеках.<br />=============<br />При ближайшем рассмотрении оказывается, что мейн тоже вызывается по той же схеме, только из своего потока, для него тоже все в силе.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_MnCLayTb" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />Вот схематичный скрипт, падающий с этой ошибкой.<br />=============<br />Ну так да, квик лезет куда-то по прибитому указателю и получается акцесс виолешен (уже не в луа, а в самом квике), а он идет мимо pcall, как выше видно.<br /><br />В учебно-тренировочном хосте с <I>обычным </I>луа 5.3 попробовал генерировать и плюсовые, и seh исключения в скрипте, так их pcall чудесно отлавливает, только что содержательных описаний не выводит, в первом случае &quot;возможно необработанное исключение&quot;, во втором просто &quot;объект ошибки не предоставлен&quot;. Помнится, раньше квик тоже похожие сообщения выводил в некоторых случаях, то есть ловились они прекрасно pcall&#39;ом. Как теперь получается, что av пролетает мимо pcall, вот вопрос интересный.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_FJJI6fZT" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />И еще особенность: скрипт, упавший с этой ошибкой повторно не запустить, кнопка &quot;Запустить&quot; не активна. Приходится удалять и заново добавлять.<br />=============<br />Ага, есть такое. <br />
			<i>23.09.2020 19:49:38, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48571/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48571/topic5527/</guid>
			<pubDate>Wed, 23 Sep 2020 19:49:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48553/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Нет, не в колбеках.<br /><br />Вот схематичный скрипт, падающий с этой ошибкой.<br /><br />
====code====
<pre>local sleep&nbsp;&nbsp;= _G.sleep
local isRun&nbsp;&nbsp;= true

function _G.main()

&nbsp;&nbsp;&nbsp;&nbsp;local sec_code = 'SRZ0'
&nbsp;&nbsp;&nbsp;&nbsp;local class_code = 'SPBFUT'

&nbsp;&nbsp;&nbsp;&nbsp;local ds = _G.CreateDataSource(class_code, sec_code, _G.INTERVAL_M5)
&nbsp;&nbsp;&nbsp;&nbsp;if not ds then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isRun = false
&nbsp;&nbsp;&nbsp;&nbsp;end

&nbsp;&nbsp;&nbsp;&nbsp;local index = 0
&nbsp;&nbsp;&nbsp;&nbsp;if isRun then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while isRun do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local last = ds:Size()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if last ~= 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while index &#60; last-1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index = index + 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:T(index)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:Close(last)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:T(last)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;end
end

</pre>
=============
Он с ошибкой, как у меня было (Close вместо C). Но хотелось бы внятного сообщения, типа - попытка индексировать значение nil.<br /><br />И еще особенность: скрипт, упавший с этой ошибкой повторно не запустить, кнопка &quot;Запустить&quot; не активна. Приходится удалять и заново добавлять. <br />
			<i>23.09.2020 09:34:19, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48553/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48553/topic5527/</guid>
			<pubDate>Wed, 23 Sep 2020 09:34:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48549/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Кажется, нашел дырочку, через которую квик может падать при ошибке в скрипте. Вышеприведенная функция вызывается со всеми (?) колбеками по одной схеме, примерно так<br />
====code====
<pre>int top = lua_gettop(pstate);
lua_getglobal(pstate, "CallbackName");
push_callback_arguments(pstate);
if(this-&#62;execute_lua_callback(pstate, nargs, 0))
&nbsp;&nbsp;quik-&#62;show_message(make_error_text(), 3);
// вот тут интересно
if(pstate)
&nbsp;&nbsp;lua_settop(pstate, top);
</pre>
=============
Как мы видели выше, при некоторых ошибках квик прибивает скрипт, то есть стейт к моменту вызова lua_settop уже неживой. А проверяется перед вызовом сохраненный локально указатель, который, конечно, как был не-null, так и остался. Возможно, это компилятор наоптимизировал. В каких колбеках ни посмотри - одно и то же. <br />
			<i>23.09.2020 07:46:09, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48549/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48549/topic5527/</guid>
			<pubDate>Wed, 23 Sep 2020 07:46:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48545/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wIHJRCKJ" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br />Скрипт упал, хотя часть кода работы с свечками обернута pcall.<br />=============<br />Неудивительно, если в колбеке, там разные пути для луа-ошибок и исключений, вторые пролетают мимо pcall. Как-то примерно так все колбеки вызываются<br />
====code====
<pre>static void translator(unsigned int code, struct EXCEPTION_POINTERS * p)
{
&nbsp;&nbsp;&nbsp;throw seh_exception(code, p);
}

int QLuaScript::execute_lua_callback(lua_State * s, int nargs, int nresults)
{
&nbsp;&nbsp;&nbsp;int ret = 0;
&nbsp;&nbsp;&nbsp;_se_translator_function pfn = _set_se_translator(translator);
&nbsp;&nbsp;&nbsp;try
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret = lua_pcall(s, nargs, nresults, 0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_set_se_translator(pfn);
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;catch(const std::exception &#38; ex)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(this-&#62;error_desc, "%s", ex.what());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&#62;kill_script();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_set_se_translator(pfn);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret = ???;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;catch(const seh_exception &#38; ex)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(this-&#62;error_desc, "Critical error %s in script %s",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex.code_as_string(), this-&#62;script_name);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&#62;kill_script();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_set_se_translator(pfn);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret = ???;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;return ret;
}
</pre>
=============
Обратите внимание, в ловушках скрипт прибивается, а при ошибке в pcall - нет. Трудно понять, зачем так сделано. <br />
			<i>23.09.2020 04:42:20, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48545/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48545/topic5527/</guid>
			<pubDate>Wed, 23 Sep 2020 04:42:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48520/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Отмена тревоги.<br />В одном месте была ошибка вызова. Вместо ds:C() вызвано ds:Close(). <br />
			<i>21.09.2020 14:35:31, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48520/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48520/topic5527/</guid>
			<pubDate>Mon, 21 Sep 2020 14:35:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48516/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Сегодня тоже первый раз (за все время использования версий &gt; 8.5) словил такую ошибку на 8.8.4.3.<br /><br />При этом это не тики, а M5, и произошла она на уже загруженных данных. Т.е. это была новая порция, скорее всего. Индекс бара фиксируется в переменной перед чтением.<br /><br />Скрипт упал, хотя часть кода работы с свечками обернута pcall.<br /><br />С другой стороны, никакой доп. информации нет, поэтому пока могу предположить, что это именно доступ к барам, как и в примере выше. Но кто знает, что это было на самом деле.<br />Хотелось бы, конечно, чтобы секции pcall давали больше информации. <br />
			<i>21.09.2020 12:46:11, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48516/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48516/topic5527/</guid>
			<pubDate>Mon, 21 Sep 2020 12:46:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48207/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_odOrS8nI" href="/user/5422/" bx-tooltip-user-id="5422">mefisto mefisto</a> написал:<br />также в одном из скриптов у меня вылетает эта ошибка сразу же как я подключаю lsqlite3 библиотеку <br /><br />require &quot;lsqlite3&quot;<br /><br />в данном случае ошибка означает тоже самое или можно как то обойти? раньше на 8.3 кажется все отлично подключалось<br />=============<br />Добрый день.<br /><br />Скорее всего тоже самое, но попробуйте вместо функции require использовать package.loadlib <br />
			<i>08.09.2020 14:27:28, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48207/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48207/topic5527/</guid>
			<pubDate>Tue, 08 Sep 2020 14:27:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48199/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			также в одном из скриптов у меня вылетает эта ошибка сразу же как я подключаю lsqlite3 библиотеку <br /><br />require &quot;lsqlite3&quot;<br /><br />в данном случае ошибка означает тоже самое или можно как то обойти? раньше на 8.3 кажется все отлично подключалось <br />
			<i>08.09.2020 08:32:04, mefisto mefisto.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48199/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48199/topic5527/</guid>
			<pubDate>Tue, 08 Sep 2020 08:32:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48194/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<p>Андрей написал:<br /> Воспроизводится в 8.5.2 и 8.6. До версии 8.5 данной проблемы не было.</p><p>----</p><p>Андрей написал:<br /> тоже падает (Critical error ACCESS_VIOLATION). &nbsp;</p><p>----</p><p>Евгений Петров написал:<br /> на версии 8.6.097, проблема с general protection fault с версии 8.5 никуда не исчезла! Продолжает валиться квик на рабочих lua скриптах с версии 7.27.1. Произвольно, иногда при запуске сразу, иногда через небольшое время.</p><p>--------------------------------------<br /> &nbsp; &nbsp; Не буду утверждать стопудово, но многие ситуации в версиях QUIK &gt;= 8.5, скорее всего, связаны с тем, что в этих версиях возникают ошибки реализации АРКОй QLua-машины 5.3.5 (отличной от нативной Lua-машины 5.3.5). Это отличие связано с тем, что QLua-машина 5.3.5 должна быть потокобезопасной, по сравнению с однопоточной Lua-машиной 5.3.5 (о причинах этого можно почитать мой комментарий № 142 по ссылке: <noindex><a href="https://forum.quik.ru/forum10/topic5119/?PAGEN_1=3)" target="_blank" rel="nofollow">https://forum.quik.ru/forum10/topic5119/?PAGEN_1=3)</a></noindex>.<br /> &nbsp; &nbsp;Более определенно, могу утверждать, что мой тест (многопоточный) автоматического управления памятью QLua-машины 5.3.5, для всех существующих (на дату 07.09.20) версий QUIK &gt;= 8.5 диагностирует, в интервале 5 минут (в произвольные моменты), ее сбои (похоже, вызванные ошибками в синхронизации) и утечку памяти. Поддержке QUIK мною, начиная с 25.05.20, выслано более 40 дампов, а 15.08.20 выслан и сам тест для возможности оперативной отладки разработчиками новых версий QUIK. Для версий QUIK &lt; 8.5 этот тест, ошибок не обнаруживает.<br /> &nbsp; &nbsp;Представьте себе, что на вашем ПК очень часто сбоит RAM (память). При этом любые ваши программы могут падать в любом месте, и можно искать в них свои ошибки до «посинения» (сам я этим не занимаюсь, до тех пор, пока не будут устранены сбои автоматического управления памятью QLua-машины 5.3.5).</p> <br />
			<i>08.09.2020 06:06:06, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48194/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48194/topic5527/</guid>
			<pubDate>Tue, 08 Sep 2020 06:06:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48193/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_MkOLl32E" href="/user/5422/" bx-tooltip-user-id="5422">mefisto mefisto</a> написал:<br />столкнулся &nbsp;с такой же проблемой. исправление еще не реализовано? если реализовано то с какой версии? у сбербанка последня 8.7.1.3 как раз..<br />=============<br />Добрый день.<br /><br />К сожалению, ошибка еще не исправлена. <br /><br />Мы сообщим в данной ветке форума, когда выйдет версия с исправленной проблемой. <br />
			<i>08.09.2020 05:25:40, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48193/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48193/topic5527/</guid>
			<pubDate>Tue, 08 Sep 2020 05:25:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message48187/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			столкнулся &nbsp;с такой же проблемой. исправление еще не реализовано? если реализовано то с какой версии? у сбербанка последня 8.7.1.3 как раз.. <br />
			<i>07.09.2020 19:50:23, mefisto mefisto.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message48187/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message48187/topic5527/</guid>
			<pubDate>Mon, 07 Sep 2020 19:50:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47023/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1GIPfg0F" href="/user/14139/" bx-tooltip-user-id="14139">Сергей</a> написал:<br />В версии 8.7.1.3 проблема осталась<br /><br />=============<br />исправления еще не было. <br />
			<i>14.07.2020 16:33:17, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47023/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47023/topic5527/</guid>
			<pubDate>Tue, 14 Jul 2020 16:33:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47022/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_EmRhi501" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/115/" target="_blank" rel="nofollow">_sk_</a></noindex> написал:<br />Пока не теряю надежду, что разработчики ответят на поставленные выше вопросы.<br />=============<br /> Добрый день,<br /> &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; Описанная в данном инциденте ошибка возникает из-за проблемы &nbsp; &nbsp; &nbsp; синхронизации доступа к данным из Lua-скрипта и будет исправлена в &nbsp; &nbsp; &nbsp; одной из ближайших очередных версий программы.<br /> &nbsp; &nbsp; &nbsp; Приносим извинения за причиненные неудобства<br />=============<br />В версии 8.7.1.3 проблема осталась <br />
			<i>14.07.2020 16:20:27, Сергей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47022/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47022/topic5527/</guid>
			<pubDate>Tue, 14 Jul 2020 16:20:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message46241/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_d0QUmp4m" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> написал:<br />Пока не теряю надежду, что разработчики ответят на поставленные выше вопросы.<br />=============<br />Добрый день,<br /> &nbsp; &nbsp; &nbsp; <br /> &nbsp; &nbsp; &nbsp; Описанная в данном инциденте ошибка возникает из-за проблемы &nbsp; &nbsp; &nbsp; синхронизации доступа к данным из Lua-скрипта и будет исправлена в &nbsp; &nbsp; &nbsp; одной из ближайших очередных версий программы.<br /> &nbsp; &nbsp; &nbsp; Приносим извинения за причиненные неудобства. <br />
			<i>15.06.2020 10:12:10, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message46241/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message46241/topic5527/</guid>
			<pubDate>Mon, 15 Jun 2020 10:12:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message46044/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_47Trchn2" href="/user/931/" bx-tooltip-user-id="931">Евгений Петров</a> написал:<br />Здравствуйте, на версии 8.6.097, проблема с general protection fault с версии 8.5 никуда не исчезла! Продолжает валиться квик на рабочих lua скриптах с версии 7.27.1. Произвольно, иногда при запуске сразу, иногда через небольшое время. Дамп, скрины отправил в поддержку, уже второй раз!<br /><br />Скрипты поменял, учел изменения в lua 5.3, никаких подключаемых внешних библиотек нет, только код. Отправлять саппорту терминал со всеми скриптами не вариант!<br /><br />Это же жесть!! Ранее эксперименты с квиком можно было игнорировать, не участвуя в сырой отладке на пользователях, оставаясь на старой версии, а теперь через пару недель запустят изменения на бирже, на версии 7 оставаться, как пишет саппорт нельзя, новая валится, что делать?????<br />=============<br />Добрый день.<br /><br />Если вы нам присылали dmp, то Вам должны были обращению присвоить CQ. Если так, то ожидайте ответ. <br />
			<i>08.06.2020 10:50:42, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message46044/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message46044/topic5527/</guid>
			<pubDate>Mon, 08 Jun 2020 10:50:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message46038/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте, на версии 8.6.097, проблема с general protection fault с версии 8.5 никуда не исчезла! Продолжает валиться квик на рабочих lua скриптах с версии 7.27.1. Произвольно, иногда при запуске сразу, иногда через небольшое время. Дамп, скрины отправил в поддержку, уже второй раз!<br /><br />Скрипты поменял, учел изменения в lua 5.3, никаких подключаемых внешних библиотек нет, только код. Отправлять саппорту терминал со всеми скриптами не вариант!<br /><br />Это же жесть!! Ранее эксперименты с квиком можно было игнорировать, не участвуя в сырой отладке на пользователях, оставаясь на старой версии, а теперь через пару недель запустят изменения на бирже, на версии 7 оставаться, как пишет саппорт нельзя, новая валится, что делать????? <br />
			<i>08.06.2020 10:30:21, Евгений Петров.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message46038/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message46038/topic5527/</guid>
			<pubDate>Mon, 08 Jun 2020 10:30:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message46030/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZQBmE59Z" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> написал:<br />Пока не теряю надежду, что разработчики ответят на поставленные выше вопросы.<br />=============<br />Здравствуйте!<br /> <br /> Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ. <br />
			<i>08.06.2020 08:21:32, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message46030/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message46030/topic5527/</guid>
			<pubDate>Mon, 08 Jun 2020 08:21:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45985/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пока не теряю надежду, что разработчики ответят на поставленные выше вопросы. <br />
			<i>05.06.2020 16:33:14, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45985/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45985/topic5527/</guid>
			<pubDate>Fri, 05 Jun 2020 16:33:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45983/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Чисто из головы немного рассуждений. Тиковый датасорец берет данные из таблицы всех сделок, таблица всех сделок мэпится в память блоками по 64к. Когда таблица перерастает очередную границу, мэппинг прибивается и создается новый побольше. Предположение: датасорец лезет в мэппинг, который уже прибит из-за прихода очередного тика, т.е. либо он кэширует указатель, либо это проблема с синхронизацией, когда другой поток начинает пересоздавать мэппинг прямо под лезущим в него потоком скрипта. <br />
			<i>05.06.2020 15:24:53, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45983/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45983/topic5527/</guid>
			<pubDate>Fri, 05 Jun 2020 15:24:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45978/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Еще немного потестировал.<br />Падает не только при полной прокачке тиков, но и при получении новых тиков тоже.<br />Запустил квик, дождался когда прокачаются тики и начнут новые тики приходить, запускаю скрипт, через некоторое время падает с этой же ошибкой.<br /><br />Еще пытался понять на каком i падает, нет зависимости, на разном i падает, в начале, в середине, в конце. <br />
			<i>05.06.2020 12:50:33, Андрей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45978/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45978/topic5527/</guid>
			<pubDate>Fri, 05 Jun 2020 12:50:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45971/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А теперь хотелось бы увидеть ответ от разработчиков терминала, что они по этому поводу думают.<br /><br />1) Считается ли проблемой ACCESS_VIOLATION, упомянутый выше?<br /><br />2) Как пользователям корректно сделать цикл по всем имеющимся данным внутри DataSource, чтобы не нарваться в процессе итерирования на изменение данных из-за поступившей новой рыночной информации или очистки объекта DataSource? <br />
			<i>05.06.2020 06:08:40, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45971/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45971/topic5527/</guid>
			<pubDate>Fri, 05 Jun 2020 06:08:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45962/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_s49RR1pV" href="/user/115/" bx-tooltip-user-id="115">_sk_</a> написал:<br />чтобы во время доступа к datasource его содержимое внезапно не изменилось<br />=============<br />Попробовал (по-своему, но тоже под локом), то же самое. По моим представлениям базовые вещи сделаны уровнем ниже, главный поток получает уведомления оттуда, соответственно лок не дает ему это уведомление получить, но само действие таки происходит. Поэтому где-то лок помогает (когда данные берутся из таблицы, живущей в главном потоке), где-то нет (когда напрямую из хранилища). Хороший эксперимент - повесить весь юай на локе при подключенном сервере, данные продолжают себе ехать, файлы растут, хотя квик висит намертво. <br />
			<i>04.06.2020 20:16:01, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45962/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45962/topic5527/</guid>
			<pubDate>Thu, 04 Jun 2020 20:16:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45959/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Т.к. данные приходят с сервера (а мгновенно это никто гарантировать не может), то надо ждать загрузки всех данных (всех баров).<br />Да, ошибка бывает когда обращаешься к пустому Size. Правда падать, вроде как, не должен.<br /><br />Проблема ожидания не только в том, что надо ждать, а в том, что интерфейс не дает возможности понять: а все ли данные приехали. Этот ds:Size() - это уже точно все или мы еще в процессе. Бывало не раз когда Size() уже не 0, но и не последний.<br />Я для себя сделал процедуру, сравнивающую время последней сделк и время последнего бара, чтобы понимать, что уже все загружено.<br />Но и здесь проблема - нету у нас даты последней сделки, есть только время (уже поднимал этот вопрос). Вот и получается, что для &quot;дырявых&quot; малоликвидных инструментов возможны проблемы определения состояния загружены все данные или нет. <br />
			<i>04.06.2020 19:52:46, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45959/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45959/topic5527/</guid>
			<pubDate>Thu, 04 Jun 2020 19:52:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Quik 8.6 Critical error ACCESS_VIOLATION</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message45953/topic5527/">Quik 8.6 Critical error ACCESS_VIOLATION</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я во всех своих скриптах при доступе к datasource-объектам внутри main применяю примерно такие фрагменты кода, чтобы во время доступа к datasource его содержимое внезапно не изменилось:<br />
====code====
<pre>local function getRawCandles(ds, maxSize)
&nbsp;&nbsp;&nbsp;&nbsp;local size = 0
&nbsp;&nbsp;&nbsp;&nbsp;local T, O, H, L, C, V = {}, {}, {}, {}, {}, {}

&nbsp;&nbsp;&nbsp;&nbsp;if ds and ds:Size() &#62; 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.ssort({ 0, 1 }, function(a, b)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local dsSize = ds:Size()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if maxSize == nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxSize = dsSize
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local count, offset
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if dsSize &#60;= maxSize then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count, offset = dsSize, 0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count, offset = maxSize, dsSize - maxSize
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i = 1, count do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local j = i + offset
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T&#91;i&#93; = ds:T(j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;O&#91;i&#93; = ds:O(j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;H&#91;i&#93; = ds:H(j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L&#91;i&#93; = ds:L(j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&#91;i&#93; = ds:C(j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V&#91;i&#93; = ds:V(j)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size = count
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;return { size = size, T = T, O = O, H = H, L = L, C = C, V = V, }
end</pre>
=============
Недостатком является блокировка потока коллбэков, что плохо в случае большого количества скриптов и одновременных запросов данных из datasource.<br /><br />Но что делать, если такая архитектура терминала? <br />
			<i>04.06.2020 18:23:14, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message45953/topic5527/</link>
			<guid>http://forum.quik.ru/messages/forum10/message45953/topic5527/</guid>
			<pubDate>Thu, 04 Jun 2020 18:23:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
