<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: SetUpdateCallback]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме SetUpdateCallback форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 22 Apr 2026 02:00:03 +0300</pubDate>
		<item>
			<title>SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message15951/topic1778/">SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_DbQmcEOA" href="/user/123/" bx-tooltip-user-id="123">Андрей 77</a>, прочтите как использовать в Lua upvalue и closure. <br />
			<i>15.05.2016 12:08:12, Constantin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message15951/topic1778/</link>
			<guid>http://forum.quik.ru/messages/forum10/message15951/topic1778/</guid>
			<pubDate>Sun, 15 May 2016 12:08:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message15949/topic1778/">SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZV2B40Ls" href="/user/123/" bx-tooltip-user-id="123">Андрей 77</a> написал:<br />function ucb(index,ds)<br /> &nbsp; &nbsp;c = ds:C(index)<br /> &nbsp; &nbsp;...<br />end<br /><br />for i=1,n do<br /> &nbsp;sec<I>.ds = CreateDataSource(sec<I>.ClassCode,sec<I>.SecCode,sec<I>.Int)<br /> &nbsp;sec<I>.ds:SetUpdateCallback(ucb) &nbsp;<br />end</I></I></I></I></I><br />=============<br />т е Вам не нравится такое решение:<br /><br />for i=1,n do<br /> &nbsp;sec.ds = CreateDataSource(sec.ClassCode,sec.SecCode,sec.Int)<br /> &nbsp; &nbsp;sec.ds:SetUpdateCallback(function (index) ucb(index,ds) end)<br />end<br />--------<br />по причине лишнего вызова функции? <br />Понятно. &nbsp; <br />
			<i>15.05.2016 05:51:41, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message15949/topic1778/</link>
			<guid>http://forum.quik.ru/messages/forum10/message15949/topic1778/</guid>
			<pubDate>Sun, 15 May 2016 05:51:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message15947/topic1778/">SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если бы это было возможно, можно было бы просто писать<br /><br />function ucb(index,ds)<br /> &nbsp; &nbsp;c = ds:C(index)<br /> &nbsp; &nbsp;...<br />end<br /><br />for i=1,n do<br /> &nbsp;sec&#91;i&#93;.ds = CreateDataSource(sec&#91;i&#93;.ClassCode,sec&#91;i&#93;.SecCode,sec&#91;i&#93;.Int)<br /> &nbsp;sec&#91;i&#93;.ds:SetUpdateCallback(ucb) &nbsp;<br />end <br />
			<i>14.05.2016 19:28:27, Андрей 77.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message15947/topic1778/</link>
			<guid>http://forum.quik.ru/messages/forum10/message15947/topic1778/</guid>
			<pubDate>Sat, 14 May 2016 19:28:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message15943/topic1778/">SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Последняя строчка Вашего вопроса вроде бы уже содержит ответ, &nbsp;или нет? <br />
			<i>14.05.2016 19:16:09, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message15943/topic1778/</link>
			<guid>http://forum.quik.ru/messages/forum10/message15943/topic1778/</guid>
			<pubDate>Sat, 14 May 2016 19:16:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>SetUpdateCallback</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message15940/topic1778/">SetUpdateCallback</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Странная наблюдается закономерность. Как и в случае с SearchItems, &nbsp;<noindex><a href="https://forum.quik.ru/messages/forum10/message15516/topic36/#message15516" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message15516/topic36/#message15516</a></noindex><br />пользоваться функциями QLUA непосредственно в реальных ситуациях крайне неудобно. Всегда нужны какие-от дополнительные обертки, костыли ...<br />Вот и SetUpdateCallback для CreateDataSource. В руководстве приведен замечательный пример, который сразу же вызывает вопросы (такие же как и<br />в случае с SearchItems) Там функция обратного вызова содержит явное использование источника данных, который никак туда не передается. Это что<br />же, для каждого источника писать свою функцию, даже когда нужна одинаковая стандартная обработка ? Фактически так и есть и остроумное решение<br /><noindex><a href="https://forum.quik.ru/messages/forum10/message1689/topic233/#message1689" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message1689/topic233/#message1689</a></noindex> лишь скрывает этот факт (еще одна обертка). <br /><br />С другой стороны, ds:SetUpdateCallback(ucb) &nbsp; эквивалентен &nbsp;ds.SetUpdateCallback(ds,ucb) и источник данных должен быть доступен <br />в SetUpdateCallback через self, но тогда что мешает явно передать его ucb ?<br /><br /><br /> &nbsp; <br />
			<i>14.05.2016 16:31:39, Андрей 77.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message15940/topic1778/</link>
			<guid>http://forum.quik.ru/messages/forum10/message15940/topic1778/</guid>
			<pubDate>Sat, 14 May 2016 16:31:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
