<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Корректная рекурсия]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Корректная рекурсия форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 01:11:56 +0300</pubDate>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35919/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Pe2MeVNv" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />При предложенном Вами исполнении, Павел Bosco, функция InitEveryDay &nbsp;будет вызваться в лучшем случае единожды за все время работы скрипта &nbsp;<br />=============<br /><br />да мой пример даже и не компилируется. потому что это пример. я предложил вам вариант переписывания функции. выбросите оттуда sleep, выбросите вызов самой функции из себя, и всё у вас получится.<br />откуда и как её вызывать - дело ваше. <br />то что к моему предложению надо было добавить вызов из нескольких колбеков, не делает его неправильным. <br /><br />раз уж просите помощи на форуме, то не надо отвечать всем, что вы правы, и вас никто не понял.<br />по-поводу шутки, у меня сложилось впечатление, что вы не понимаете, что такое рекурсия. и даже слабо понимаете, что такое цикл.<br /><br />ещё, позволю себе совет, почитайте что такое синхронные и асинхронные вызовы.<br />вы пытаетесь через InitEveryDay &nbsp;устроить синхронную функцию, у которой на выходе будет гарантированный результат.<br />отсюда и попытки работы с рекурсией. <br />я считаю что это вам не нужно. работайте с InitEveryDay &nbsp;так, что иногда она не возвращает результат сразу, тогда надо просто подождать и снова её вызвать.<br />причём при ожидании продуктивнее будет делать какую-то полезную работу, а не просто sleep.<br />это меняет логику построения программы, но зависать ничего не будет.<br />синхронная логика - это узкое горлышко производительности. <br />
			<i>19.01.2019 20:53:18, Павел Bosco.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35919/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35919/topic4209/</guid>
			<pubDate>Sat, 19 Jan 2019 20:53:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35894/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_9Ja70aOU" href="/user/1833/" bx-tooltip-user-id="1833">vgi</a> написал:<br />isConnected<br />=============<br />Спасибо. В принципе я так уже и сделал.<br />Функция вызывается из нескольких мест, в примере видно только одно, в частности она вызывается при смене даты. Рекурсию надо убрать конечно и в принципе нигде ее не допускать, в данном исполнении она действительно может превратиться в бесконечный цикл с запуском бесконечного количества экземпляров функции. &nbsp; <br />
			<i>18.01.2019 11:01:07, Иван Ру.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35894/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35894/topic4209/</guid>
			<pubDate>Fri, 18 Jan 2019 11:01:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35891/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			так как такое решение просто напрочь забивает стек и грузит процессор по самые... <br />
			<i>18.01.2019 09:42:29, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35891/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35891/topic4209/</guid>
			<pubDate>Fri, 18 Jan 2019 09:42:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35890/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			на самом деле в теме написана не рекурсия, а бесконечный цикл вызова функции с ожиданием события подключения.<br />Это новон слово в программировании. &nbsp;Я бы так не догадался сделать цикл. <br />
			<i>18.01.2019 09:40:42, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35890/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35890/topic4209/</guid>
			<pubDate>Fri, 18 Jan 2019 09:40:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35884/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_XnCfpJv2" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />При предложенном Вами исполнении, Павел Bosco, функция InitEveryDay &nbsp;будет вызваться в лучшем случае единожды за все время работы скрипта -- тогда когда будет впервые установлено соединение с сервером. Выше несколько раз было сказано, что необходима ежедневная реинициализация параметров, т.е. многократное обращение к функции InitEveryDay<br />=============<br />В Вашем изначальном варианте InitEveryDay точно так же вызывается единожды при старте скрипта. <br /><br />Если требуется "ежедневная переинициализация" в InitEveryDay<br />● проверяйте isConnected()<br />● проверяйте дату торгов getInfoParam ("TRADEDATE ") и если она измененилась по сравнению с предыдущей запомненной делайте, что Вам требуется<br />● если работаете из одного и того же часового пояса, проверяйте локальное время, почему нет!<br />● <B>откажитесь от рекурсии</B>, она вводит Вас в заблуждение. Сейчас у Вас в коде рекурсия ради рекурсии, а не достижения цели. Обычный while &nbsp;вполне сгодится. <br />
			<i>18.01.2019 06:46:10, vgi.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35884/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35884/topic4209/</guid>
			<pubDate>Fri, 18 Jan 2019 06:46:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35881/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_h8ezjtZ0" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br /> то, что рекурсия в данном случае находится не в коллбэке<br />=============<br /><br />Вы категорически не правы, Вам уже несколько человек об этом сказали.<br />Вызывая функцию в колбеке, Вы вызываете ее в колбеке, это же очевидно разве нет?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_jJoSoB8K" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />function OnInit() <br />theDate = 0 -- инициируем переменную, которая будет содержать текущую дату <br />InitBeforSession = false	 -- инициация перед началом сессии <br /><B>InitEveryDay () </B>-- ежедневная инициализация<br />end<br />=============<br /><br />Уберите InitEveryDay из OnInit и не будет зависать <br />
			<i>18.01.2019 05:51:51, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35881/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35881/topic4209/</guid>
			<pubDate>Fri, 18 Jan 2019 05:51:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35876/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_A8EE25rt" href="/user/807/" bx-tooltip-user-id="807">Павел Bosco</a> написал:<br />напоминает шутку про индийского программиста, который чтобы узнать завтрашнюю дату, делал в программе sleep на сутки.зачем вообще рекурсия?сделайте в main while dDT.year == nil do &nbsp; InitEveryDay () &nbsp; sleep(xxx) &nbsp;if stopped then &nbsp; &nbsp;break &nbsp;endendwhile not stopped do-- основной циклendа в InitEveryDay уберите и рекурсию и sleep, там это не нужно.не нужно из колбэков вызывать тяжёлую и долгую логику, будет подвисать весь квик<br />=============<br />Коллеги, просьба вести диалог в уважительном тоне, или хотя бы читать внимательнее!<br />При предложенном Вами исполнении, Павел Bosco, функция InitEveryDay &nbsp;будет вызваться в лучшем случае единожды за все время работы скрипта -- тогда когда будет впервые установлено соединение с сервером. Выше несколько раз было сказано, что необходима ежедневная реинициализация параметров, т.е. многократное обращение к функции InitEveryDay , собственно, это даже из ее названия &nbsp;понять можно!<br />Принципиальное решение &nbsp;мне понятно -- функция вызывается при соблюдении двух обязательных и достаточных условий - соединения с сервером и смены даты. При этом ее вызов должен происходить один раз (нужен флаг сбрасываемый при смене даты). <br />Что касается замечания vgi, еще раз отмечу, принципиально то, что рекурсия в данном случае находится не в коллбэке. Не имеет значение откуда вызывается функция с рекурсией, она у меня может вызываться разными способами, в т.ч. и не из коллбэка, но результат плачевный в любом случае. Поэтому я и задал важный уточняющий вопрос &nbsp;для <noindex><a href="https://forum.quik.ru/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex> -- я вижу что рекурсия приводит к подвисанию независимо от того в коллбэке она или нет. &nbsp; <br />
			<i>17.01.2019 17:37:35, Иван Ру.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35876/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35876/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 17:37:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35871/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			напоминает шутку про индийского программиста, который чтобы узнать завтрашнюю дату, делал в программе sleep на сутки.<br />зачем вообще рекурсия?<br /><br />сделайте в main <br />while dDT.year == nil do <br /> &nbsp;InitEveryDay () <br /> &nbsp;sleep(xxx)<br /> &nbsp;if stopped then<br /> &nbsp; &nbsp;break<br /> &nbsp;end<br />end<br /><br />while not stopped do<br />-- основной цикл<br />end<br /><br />а в InitEveryDay уберите и рекурсию и sleep, там это не нужно.<br /><br />не нужно из колбэков вызывать тяжёлую и долгую логику, будет подвисать весь квик <br />
			<i>17.01.2019 15:17:43, Павел Bosco.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35871/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35871/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 15:17:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35867/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_n6gBzazp" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />"Во вторых, как уже было сказано, нежелательно их использовать только в колбеках, а значит..."<br />Насколько я понимаю, функцию InitEveryDay, где имеется рекурсия не относится к коллбэкам.<br />=============<br />А вызываете Вы её как раз в коллбэке - в OnInit<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_eFYf5zE5" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />function OnInit()<br /> &nbsp; &nbsp; ...<br /> &nbsp; &nbsp; InitEveryDay () -- ежедневная инициализация<br />end<br /><br />=============<br /> <br />
			<i>17.01.2019 14:14:20, vgi.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35867/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35867/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 14:14:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35866/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&quot;Во вторых, как уже было сказано, нежелательно их использовать только в колбеках, а значит...&quot;<br />Насколько я понимаю, функцию InitEveryDay, где имеется рекурсия не относится к коллбэкам.<br /><br />ВОПРОС: &quot;Все зависит от того что для Вас &quot;реинициализация&quot;&quot; <br />ОТВЕТ: ежедневное обновление ключевых параметров скрипта, это не OnInit, которая является коллбэком, а функция InitEveryDay. Она вызывается из OnInit, а также из еще одной функции (не колл-бэка) скрипта, которая фиксирует смену даты. <br /><br />ВОПРОС: &quot;И что мешает все тоже самое сделать в цикле &quot;while stopMain do&quot;, а в колбеках оставить только переменные?&quot;<br />ОТВЕТ: Так все-таки не получится. Этот блок проходится (функционирует) единожды -- когда скрипт инициирован (запущен), но не завершена его инициация. InitEveryDay вызывается ежедневно, в том числе, когда этот блок пройден. Я рассчитываю что мой скрипт должен работать много дней без перезапуска, собственно для этого и нужна функция InitEveryDay &nbsp; <br />
			<i>17.01.2019 14:03:05, Иван Ру.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35866/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35866/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 14:03:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35863/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Axha6O3s" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />Правильно ли я понимаю, что в таком случае рекурсия в принципе недопустима ни в одной из функций скрипта Lua? <br />=============<br /><br />Во первых, как уже было сказано, <B>любой</B> бесконечный или долгий цикл, в том числе и рекурсия, а не только рекурсия.<br />Во вторых, как уже было сказано, нежелательно их использовать <B>только</B> в колбеках, а значит, если та же функция вызывается в main такой проблемы не будет.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_8g85lA5R" href="/user/2250/" bx-tooltip-user-id="2250">Иван Ру</a> написал:<br />Коллеги, можете ли поделиться примерами ежедневной реинициализации скрипта?<br /><br />=============<br /><br />Все зависит от того что для Вас "реинициализация", и вообще почему выбран именно OnInit, а не скажем OnConnected.<br />И почему "if dDT.year == nil", а не функция isConnected()<br />И что мешает все тоже самое сделать в цикле "while stopMain do", а в колбеках оставить только переменные? <br />
			<i>17.01.2019 13:09:16, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35863/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35863/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 13:09:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35861/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_fhes26gb" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Здравствуйте,<br />Из документации:<br /> <br />====quote====<br />Функции обратного вызова обрабатываются в основном потоке терминала QUIK. Поэтому пользователю необходимо оптимизировать время исполнения таких функций. <br />=============<br /> <br />В связи с чем любой бесконечный или долгий цикл в любом колбеке может подвесить терминал.<br />Надо перенести проверку в функцию main<br />=============<br />Правильно ли я понимаю, что в таком случае рекурсия в принципе недопустима ни в одной из функций скрипта Lua? Корректная последовательность приблизительно такова: функция должна быть исполнена до конца, вернуть условное негативное значение, после чего, с некоторой паузой должен произойти ее повторный вызов из main, в моем случае видимо из блока while stopMain do...<br /><br />Коллеги, можете ли поделиться примерами ежедневной реинициализации скрипта? <br />
			<i>17.01.2019 12:40:05, Иван Ру.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35861/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35861/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 12:40:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35860/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Из документации:<br /><br />====quote====<br />Функции обратного вызова обрабатываются в основном потоке терминала QUIK. Поэтому пользователю необходимо оптимизировать время исполнения таких функций. <br />=============<br /><br />В связи с чем любой бесконечный или долгий цикл в любом колбеке может подвесить терминал.<br />Надо перенести проверку в функцию main <br />
			<i>17.01.2019 12:24:36, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35860/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35860/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 12:24:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Корректная рекурсия</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message35859/topic4209/">Корректная рекурсия</a></b> <i>Как корректно оформить рекурсию в Lua (функция ссылается сама на себя)</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Рекурсия - когда функция ссылается сама на себя - вещь не самая удачная в программировании, однако иногда она все же нужна для работы роботов в Луа.<br />В частности у меня написана функция инициации робота, которая вызывает сама себя, в случае, если нет соединения с сервером. Иными словами, в определенной точки функции, если не считаны параметры времени сервера (т.е. очевидно нет связи с ним), оператором sleep инициируется пауза в работе скрипта, а затем, функция вызывает сама себя и запускается с начала.<br />Выглядит это в общих чертах &nbsp;так: <br /><br />function OnInit()<br /> theDate = 0 -- инициируем переменную, которая будет содержать текущую дату<br /> InitBeforSession = false	 -- инициация перед началом сессии<br /> InitEveryDay () -- ежедневная инициализация<br />end<br /><br />function InitEveryDay ()<br />	message ('Proliv InitEveryDay start')<br />	sleep (100)<br />	<br />	-- Индикаторы состояния торговли<br />	isTempStoped 		= false; -- временная остановка работы скрипта<br />	isTrades 			= false; --есть ли торги по фьючерсам?<br />	isTradesPrevious 	= false<br />	isConnectedPrevious = false<br />	isConnected			= false<br />	<br />	-- Флаги работы скрипта <br />	is_run 						= false	-- флаг работы цикла Main<br /><br /><br />	-- Проверка на наличие соединения<br />	if dDT.year == nil then -- если значения полей пустые, значит нет соединения с сервером !!! по-видимому здесь происходит какое-то зацикливание из-за которого quik намертво виснет при запуске &nbsp;в период когда нет соединения с сервером<br />		message (&quot;Error: no connection&quot;)<br />		sleep (5000) -- стоим на месте<br />		InitEveryDay ()<br />end -- если значения полей пустые<br /><br />end -- конец функции <br /><br />function main()	<br />	-- Задерживаем старт main до исполнения кода onInit (после его завершения флаг stopMain будет переведен в false - см. выше)<br />	message (&quot;main - stopMain &quot;)<br />	while stopMain do -- старт &nbsp;стопора while<br />		sleep (500)<br />		message (&quot;main stopMain is &nbsp;&quot;..tostring(stopMain))<br />	end -- конец стопора while<br />end <br /><br />---------------------------<br /><br />Проблема в том, что при неблагоприятных условиях, в частности если скрипт стартуется при отсутствии соединения с сервером, скрипт виснет и вешает Квик, приходится аварийно перезагружать программу.<br />Эта схема рекурсии с паузой и оператором sleep, как я увидел, неработоспособна и во всех других случаях, когда она регулярно (многократно) срабатавает.<br />В чем проблема? И как реализовать данную задачу корректно: скрипт многократно пытается инициироваться, пока не наступят благоприятные условия. <br />
			<i>17.01.2019 12:15:05, Иван Ру.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message35859/topic4209/</link>
			<guid>http://forum.quik.ru/messages/forum10/message35859/topic4209/</guid>
			<pubDate>Thu, 17 Jan 2019 12:15:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
