<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: OnStop]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме OnStop форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 14:27:15 +0300</pubDate>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23344/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_QS627jvD" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br /><br />====quote====<br />Однако вы правы про то, что выполнение main() прерывается на время OnStop(), как-то я вчера был невнимателен.<br />Причем в самом деле: поведение изменилось между версиями 6.16.1 и 6.17.0<br /><br />Хотелось бы услышать пояснения от разработчиков, такого изменения поведения не было заявлено, выходит это баг.<br />=============<br />Добрый день, <br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; Описанная в данном инциденте проблема была устранена в версии 7.10.0 &nbsp; &nbsp; терминала QUIK.<br /> &nbsp; &nbsp; Рекомендуем Вам обновить версию программы.<br /> &nbsp; &nbsp; <br /> &nbsp; &nbsp; Приносим извинения за причиненные неудобства. <br />
			<i>30.03.2017 11:03:21, Anastasia  Gordienko.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23344/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23344/topic2505/</guid>
			<pubDate>Thu, 30 Mar 2017 11:03:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22266/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Описанное поведение будет исправлено в одной из следующих версий программы . <br />
			<i>08.02.2017 07:20:39, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22266/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22266/topic2505/</guid>
			<pubDate>Wed, 08 Feb 2017 07:20:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22107/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Проблема изучается. Постараемся в ближайшее время дать ответ. <br />
			<i>02.02.2017 09:58:44, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22107/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22107/topic2505/</guid>
			<pubDate>Thu, 02 Feb 2017 09:58:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22104/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Однако вы правы про то, что выполнение main() прерывается на время OnStop(), как-то я вчера был невнимателен.<br />Причем в самом деле: поведение изменилось между версиями 6.16.1 и 6.17.0<br /><br />Хотелось бы услышать пояснения от разработчиков, такого изменения поведения не было заявлено, выходит это баг. <br />
			<i>02.02.2017 04:44:51, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22104/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22104/topic2505/</guid>
			<pubDate>Thu, 02 Feb 2017 04:44:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22079/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0dj7mL55" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />ваша неправда в том, что в OnStop вы первым делом прерываете цикл в main.<br /> &nbsp; &nbsp; &nbsp;run = nil<br />а после ошибочно утверждаете, что майн параллельно не работает.<br />=============<br />Ваша неправда в том, что вы даже не проверили на то, о чём говорите.<br />Можете переписать OnStop так:
====code====
<pre>function OnStop(s)
&nbsp;&nbsp;Print('OnStop')
&nbsp;&nbsp;_sleep(3000)&nbsp;&nbsp; -- Здесь вы можете добавить некоторую работу, выполняющуюся на вашем компьютере определённое количество времени
&nbsp;&nbsp;Print('OnStop')
&nbsp;&nbsp;run = nil
&nbsp;&nbsp;return 5000
end</pre>
=============
 и убедиться, что в QUIK v.7 OnStop и main параллельно не работают. <br />
			<i>01.02.2017 12:00:39, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22079/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22079/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 12:00:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22077/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TaTV6gPf" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br /><br />Ваша неправда: добавив в OnStop некоторые финализирующие действия, вы увидите, что пока они не будут выполнены, поток main не будет выполнять свою работу.<br />А возобновит её после окончания работы OnStop.<br />=============<br />ваша неправда в том, что в OnStop вы первым делом прерываете цикл в main.<br /> &nbsp; &nbsp; &nbsp;run = nil<br />а после ошибочно утверждаете, что майн параллельно не работает.<br /><br />вот здесь пример скрипта и подробные исследования откуда взялась ранее указанная мной схема<br /><br /><noindex><a href="https://quik2dde.ru/viewtopic.php?id=23" target="_blank" rel="nofollow">https://quik2dde.ru/viewtopic.php?id=23</a></noindex><br /><br />которую арка не стесняясь стырила в свою документацию, да еще переврала. <br />
			<i>01.02.2017 11:30:00, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22077/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22077/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 11:30:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22076/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Проверил: в v.6.16 потоки OnStop и main работали параллельно. В v.6.17 здесь уже внесли изменения.<br />Возможно, сделано это было в благих целях: для корректной выгрузки библиотек или как-то так. Но об этом предупреждать же надо! <br />
			<i>01.02.2017 09:53:53, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22076/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22076/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 09:53:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22075/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_Yix3S8eZ" href="/user/459/" bx-tooltip-user-id="459">Nikolay Pavlov</a>,<br />Да, я ошибся в том, что отсчёт 5-секундного завершения скрипта всё же начинается по окончании OnStop.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_DHRONH9v" href="/user/459/" bx-tooltip-user-id="459">Nikolay Pavlov</a> написал:<br />Вы увидите, что после вызова OnStop() поток main продолжает работать<br />=============<br />Ваша неправда: добавив в OnStop некоторые финализирующие действия, вы увидите, что пока они не будут выполнены, поток main не будет выполнять свою работу.<br />А возобновит её после окончания работы OnStop.<br /><br />
====code====
<pre>local run = true

local function Print(text)
&nbsp;&nbsp;PrintDbgStr(os.clock() .. ' ' .. text)
end

function main()
&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;Print('main')
&nbsp;&nbsp;end
&nbsp;&nbsp;sleep(4000)
&nbsp;&nbsp;Print('Quit')
end
function OnStop(s)
&nbsp;&nbsp;Print('OnStop')
&nbsp;&nbsp;run = nil
&nbsp;&nbsp;_sleep(3000)&nbsp;&nbsp; -- Здесь вы можете добавить некоторую работу, выполняющуюся на вашем компьютере определённое количество времени
&nbsp;&nbsp;Print('OnStop')
&nbsp;&nbsp;return 5000
end</pre>
=============
<br />Результат:<br /><br />====quote====<br />31169.066 main	<br />31169.167 main	<br />31169.267 main	<br />31169.368 main	<br />31169.468 main	<br />31169.569 main	<br />31169.604 OnStop	<br />31172.605 OnStop	<br />31172.605 main	<br />31176.607 Quit<br />=============<br /> <br />
			<i>01.02.2017 09:19:56, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22075/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22075/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 09:19:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22074/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Проверил на версии 7.7<br />все осталось также, как по ссылке выше с <noindex><a href="https://quik2dde.ru/viewtopic.php?id=16" target="_blank" rel="nofollow">описанием работы QLua</a></noindex> <br />
			<i>01.02.2017 07:51:17, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22074/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22074/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 07:51:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22073/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br />На схеме все верно указано.<br />Пример иллюстрирующий данное поведение:
====code====
<pre>function OnStop()
&nbsp;&nbsp;message(string.format("OnStop %s (%s)", osTime(), tostring(os.clock())))
&nbsp;&nbsp;return 5000
end

function osTime()
&nbsp;&nbsp;local _date = os.date("*t")
&nbsp;&nbsp;return string.format("%02d:%02d:%02d",_date.hour, _date.min, _date.sec)
end

function main() 
&nbsp;&nbsp;while true do
&nbsp;&nbsp;&nbsp;&nbsp;message(string.format("main... %s (%s)", osTime(), tostring(os.clock())))
&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;end
end
</pre>
=============
запустив скрипт, Вы увидите, что после вызова OnStop() поток main продолжает работать:<br /><br />main... 11:46:03 (92122.959)<br />main... 11:46:04 (92123.959)<br />OnStop 11:46:05 (92124.872)<br />main... 11:46:05 (92124.96)<br />main... 11:46:06 (92125.96)<br />main... 11:46:07 (92126.96)<br />main... 11:46:08 (92127.961)<br />main... 11:46:09 (92128.961) <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=1393&" width="977" height="945" /><br /><i>01.02.2017 07:49:36, Nikolay Pavlov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22073/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22073/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 07:49:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22071/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://quik2dde.ru/viewtopic.php?id=16" target="_blank" rel="nofollow">https://quik2dde.ru/viewtopic.php?id=16</a></noindex><br /><br />здесь истинно верная схема.<br />а квиковцы сами не знают, что творят.<br /><br />(проверить на последних версиях? Вдруг что поменяли) <br />
			<i>01.02.2017 06:06:59, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22071/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22071/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 06:06:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>OnStop</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message22070/topic2505/">OnStop</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это верно, что во время работы колбэка OnStop работа потока main приостанавливается?<br />Кроме того, скрипту даётся время на завершение работы, которое отсчитывается не по окончании OnStop (как это показано на вашей схеме), а от начала работы функции OnStop. Т.о., схема должна выглядеть так:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>[FILE ID=1389]</td></tr></tbody></table> <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=1389&" width="628" height="597" /><br /><i>01.02.2017 01:31:47, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message22070/topic2505/</link>
			<guid>http://forum.quik.ru/messages/forum10/message22070/topic2505/</guid>
			<pubDate>Wed, 01 Feb 2017 01:31:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
