<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Lua 5.4]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Lua 5.4 форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 15:03:03 +0300</pubDate>
		<item>
			<title>Lua 5.4</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64145/topic7464/">Lua 5.4</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			TGB, спасибо за участие. <br />
			<i>07.07.2022 08:50:34, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64145/topic7464/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64145/topic7464/</guid>
			<pubDate>Thu, 07 Jul 2022 08:50:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.4</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64144/topic7464/">Lua 5.4</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вот так оно всегда. В cpath лишняя ссылка затесалась )) <br />
			<i>07.07.2022 08:41:12, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64144/topic7464/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64144/topic7464/</guid>
			<pubDate>Thu, 07 Jul 2022 08:41:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.4</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64143/topic7464/">Lua 5.4</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_pTqGzKuu" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> написал:<br />Проблема в том, что loadbuffer &nbsp;выдает ошибку<br />=============<br /> &nbsp;-----<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_gmTxjfLW" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />То ваша функция forLua_xx_test &nbsp;работает в 5.4 в QUIK 9.5.0.42<br />=============<br />Это я проверил 15 минут назад. &nbsp;Почему у вас не работает непонятно. <br />
			<i>07.07.2022 08:21:11, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64143/topic7464/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64143/topic7464/</guid>
			<pubDate>Thu, 07 Jul 2022 08:21:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.4</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64142/topic7464/">Lua 5.4</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Конечно. Именно так все и оформлено. Функция то находится (как и все остальное все функции в этой dll) и запускается на выполнение. Проблема в том, что loadbuffer &nbsp;выдает ошибку в какие и не выдает ее в стандартном интерпретаторе.<br /><br />при этом прямая перекомпиляции без каких либо изменений в тексте в 5.3 даёт абсолютно рабочий вариант. <br />
			<i>07.07.2022 08:15:37, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64142/topic7464/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64142/topic7464/</guid>
			<pubDate>Thu, 07 Jul 2022 08:15:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.4</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64141/topic7464/">Lua 5.4</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_O0UnhX4j" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> написал:<br />Может, кто то пальцем сможет указать направление в пустыне?<br />=============<br /><br />Если ваш код Имя_dll.dll оформлен следующим образом (Имя_dll и Имя_пакета_dll это идинтификаторы в латинской кодировке):<br /> 
====code====
<pre>
.........................

static int forLua_xx_test(lua_State* L)&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;Ваша функция ---
{

&nbsp;&nbsp;&nbsp;............
}
 
//=== Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua ================================//
static struct luaL_Reg ls_lib&#91;&#93; = {
&nbsp;&nbsp;&nbsp;{ "xx_test", forLua_xx_test },
&nbsp;&nbsp;&nbsp;{ NULL, NULL }
};

extern "C" LUALIB_API int luaopen_Имя_dll&#62;(lua_State *L) {&nbsp;&nbsp; // !!!&nbsp;&nbsp;luaopen_&#60;Имя пакета&#62;
&nbsp;&nbsp;&nbsp;lua_newtable(L);
&nbsp;&nbsp;&nbsp;luaL_setfuncs(L, ls_lib, 0);
&nbsp;&nbsp;&nbsp;lua_pushvalue(L, -1);
&nbsp;&nbsp;&nbsp;lua_setglobal(L, "Имя_пакета_dll");&nbsp;&nbsp;// !!!&nbsp;&nbsp;lua_setglobal(L, "&#60;Имя пакета&#62;");
&nbsp;&nbsp;&nbsp;return 0;
}
 </pre>
=============
<br /><br />А вызов в QLua:<br />
====code====
<pre>
require('Имя_dll')

message("result=" .. tostring(Имя_пакета_dll.xx_test("message('hello world!!',3)")))
</pre>
=============
<br /><br />То ваша функция forLua_xx_test &nbsp;работает в 5.4 в QUIK 9.5.0.42 <br />
			<i>07.07.2022 07:59:09, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64141/topic7464/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64141/topic7464/</guid>
			<pubDate>Thu, 07 Jul 2022 07:59:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua 5.4</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message64126/topic7464/">Lua 5.4</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Все таки есть проблемы в славном королевстве.<br /><br />Есть библиотека для 5.3. Работает на ура. И в квике и в standalone<br /><br />Пересобрал ее на 5.4. Работают все три десятка ее функций (и в квике и в standalone) без каких либо проблем, кроме одной. Она работает в standalone, но напрочь отказывется работать в квике. <br /><br />Выкинул из нее все лишнее, оставил минимум для теста<br /><br />
====code====
<pre>static int xx_test(lua_State *L)
{

&nbsp;&nbsp;&nbsp;const char* buffer = luaL_checkstring(L, 1);

&nbsp;&nbsp;&nbsp;if (luaL_loadbuffer(L, buffer, strlen(buffer), "test") == LUA_OK)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(0, "loadbuffer ok", "", MB_OK);
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(0, "loadbuffer error", "", MB_OK);
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;if (lua_pcall(L, 0, 0, 0) == LUA_OK)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(0, "pcall ok", "", MB_OK);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushnil(L);
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(0, "pcall error", "", MB_OK);
&nbsp;&nbsp;&nbsp;}



&nbsp;&nbsp;&nbsp;return 1;
}</pre>
=============
вызов из луа:<br />	message(&quot;result=&quot; .. tostring(xx.test(&quot;message(&#39;hello world!!&#39;,3)&quot;)))<br /><br />И если в standalone мы получаем два сообщения OK, hello world и nil в качестве возврата, то в квике мы сразу получаем loadbuffer error и дальше, конечно мусор.<br /><br /><br />Может, кто то пальцем сможет указать направление в пустыне? <br />
			<i>06.07.2022 12:48:20, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message64126/topic7464/</link>
			<guid>http://forum.quik.ru/messages/forum10/message64126/topic7464/</guid>
			<pubDate>Wed, 06 Jul 2022 12:48:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
