<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Пропадает глобальная таблица _G]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Пропадает глобальная таблица _G форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 14:27:14 +0300</pubDate>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24182/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_bui3G0vl" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Вы можете подтвердить или опровергнуть?<br /><br />=============<br />боюсь что нет.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_MzIgjc0Y" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Глобальная таблица как-то затрагивается, например для синхронизации потоков?<br />=============<br />у нас, точно нет. <br />
			<i>02.05.2017 11:19:14, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24182/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24182/topic2750/</guid>
			<pubDate>Tue, 02 May 2017 11:19:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24165/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_6vGVYbPY" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a>, на приведённом куске кода у меня проблема также не воспроизводится &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_biggrin.png" border="0" data-code=":lol:" data-definition="SD" alt=":lol:" style="width:16px;height:16px;" title="Широкая улыбка" class="bx-smile" /> <br />Оригинальный скрипт - это более 3 тыс. строк кода. Я попытался его уменьшить, дабы локализовать проблему. Но столкнулся с тем, что при уменьшении ниже 1500 строк ошибка не возникает. Даже удаление неиспользуемых в скрипте функций приводит к тому, что проблема не воспроизводится. Отсюда я делаю вывод, что вероятность возникновения ошибки тем выше, чем больше размер глобальной таблицы.<br /><br />Вы можете подтвердить или опровергнуть?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_6nAb1YOw" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Что-то происходит с глобальной таблицей в колбэках.<br />=============<br />Глобальная таблица как-то затрагивается, например для синхронизации потоков? <br />
			<i>28.04.2017 17:00:18, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24165/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24165/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 17:00:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24163/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_Ii5QcPjr" href="/user/54/" bx-tooltip-user-id="54">Старатель</a>, <br /><br />У нас проблема не воспроизводится. опишите более точно последовательность действий для воспроизведения. <br />
			<i>28.04.2017 16:09:00, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24163/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24163/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 16:09:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24150/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Падает только скрипт (не терминал) с указанными <noindex><a href="https://forum.quik.ru/messages/forum10/message24133/topic2750/#message24133" target="_blank" rel="nofollow">выше</a></noindex> ошибками. <br />
			<i>28.04.2017 11:08:20, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24150/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24150/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 11:08:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24149/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vmA24eHU" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Вчера скрипт падал после подключения и отработки OnDepoLimit.<br /><br />=============<br /><br />При падении, в папке dmp должен был создаться дамп процесса.<br />Просьба его прислать нам на изучение quiksupport@arqatech.com <br />
			<i>28.04.2017 11:05:36, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24149/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24149/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 11:05:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24148/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Vqnmt84I" href="/user/1801/" bx-tooltip-user-id="1801">Борис Гудылин</a> написал:<br />Хорошо бы узнать от разработчиков, с какого момента уже возможна полноценная работа скриптов, может даже ввести особое событие.<br /><br />=============<br /><br />Что такое "полноценная работа скриптов"? <br />А если Вы подключитесь к серверу за пол часа до старта торгов и чтобы отправить транзакцию Вам придется ждать пол часа, эти пол часа входит в понятие "полноценная работа скриптов"? А если час? Два? Или даже несколько дней (выходные)?<br />Если "да", то как мы можем назвать Вам время сколько придется ждать? Никак.<br />Если конкретизируете понятие "полноценная работа скриптов", возможно будет более предметный ответ. <br />
			<i>28.04.2017 11:03:50, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24148/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24148/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 11:03:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24146/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dgWclQt8" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Ошибка возникает не сразу после старта скрипта.<br />В моём случае после подключения к серверу.<br />...<br />=============<br />По моим наблюдениям OnConnected еще не означает, что в QUIK уже все проинициализировано. Например, время сервера после OnConnected часто бывает еще отсутствующим некоторое время..<br /><br />Хорошо бы узнать от разработчиков, с какого момента уже возможна полноценная работа скриптов, может даже ввести особое событие.<br /><br />И еще - потенциально возможны блуждающие ошибки из-за недостаточной синхронизации при использовании разделяемых ресурсов между основным потоком QUIK и потоком скрипта main. <br />Но здесь Вам виднее. <br /><br />P.S. Пишу в спешке, в походных условиях, мог просто не &quot;въехать&quot; в ситуацию. <br />
			<i>28.04.2017 10:39:02, Борис Гудылин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24146/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24146/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 10:39:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24142/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ошибка возникает не сразу после старта скрипта.<br />В моём случае после подключения к серверу.<br />Вот примерный лог работы:<br /><br />====quote====<br />main<br />OnConnected<br />Sort<br />OnConnected End<br />Тут возникает ошибка<br />=============<br />Вчера скрипт падал после подключения и отработки OnDepoLimit.<br />Что-то происходит с глобальной таблицей в колбэках. <br />
			<i>28.04.2017 09:16:27, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24142/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24142/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 09:16:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24140/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			main начинает работать слишком быстро, похоже :)<br />ускорили и оптимизировали, как всегда удачно <br />
			<i>28.04.2017 07:04:15, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24140/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24140/topic2750/</guid>
			<pubDate>Fri, 28 Apr 2017 07:04:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Пропадает глобальная таблица _G</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message24133/topic2750/">Пропадает глобальная таблица _G</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			QUIK 7.10.0.76. Иногда при подключении к серверу скрипт падает с ошибкой<br />====quote====<br />attempt to call global 'W' (a nil value)<br />=============<br />W - это функция, которая крутится в цикле main. Она никак не может быть nil.<br />Вот фрагмент кода:<br />
====code====
<pre>function OnConnected()
&nbsp;&nbsp;Sort = true
end
function W()
&nbsp;&nbsp;return nil
end
function main()
&nbsp;&nbsp;...
&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;if Sort then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.sort({0, 1})&nbsp;&nbsp;-- сортировка никак не связана с функцией W, но без сортировки проблема не воспроизводится
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sort = nil
&nbsp;&nbsp;&nbsp;&nbsp;elseif not W() then&nbsp;&nbsp; -- тут возникает ошибка
&nbsp;&nbsp;&nbsp;&nbsp;else sleep(100) end
&nbsp;&nbsp;end
end</pre>
=============
<br />Целый день убил на поиск проблемы, пока не заглянул в глобальную таблицу _G. А её и нет:<br />когда изменил код так:
====code====
<pre>function main()
&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;if Sort then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.sort({0, 1})
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sort = nil
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not _G then message('Ahtung! Not _G', 3)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif not W() then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else sleep(100) end
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
end</pre>
=============
то при подключении скрипт стал однократно выдавать сообщение об отсутствии _G (т.е. впоследствии _G снова обнаруживается) или падать с ошибкой<br />====quote====<br />attempt to call global 'W' (a <U>table</U> value)<br /> (неожиданно!)<br />=============<br />Скрипт использует только функции из qlua.dll, не модифицирует функцию W, и не работает напрямую с глобальной таблицей.<br /><br />Соответственно, вопрос разработчикам: есть ли в QLua какие-либо механизмы, способные так повлиять на работу? <br />
			<i>27.04.2017 22:44:24, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message24133/topic2750/</link>
			<guid>http://forum.quik.ru/messages/forum10/message24133/topic2750/</guid>
			<pubDate>Thu, 27 Apr 2017 22:44:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
