<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Lua - C++ - примеры]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Lua - C++ - примеры форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 20:01:40 +0300</pubDate>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65787/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У меня проблем нет. <br />
			<i>20.09.2022 21:26:21, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65787/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65787/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 21:26:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65786/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_mOkP41ds" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /> &nbsp; Вы напишите, как я написал или разбирайтесь как правильно раскрыть макрос<br /><br />=============<br /> Вы уверены ?? Что у Вас это работает ?? У меня НЕ РАБОТАЕТ.<br />=============<br />В соседней теме написал Соберите на 5.3 и либ должна быть lua53.lib <br />
			<i>20.09.2022 21:25:22, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65786/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65786/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 21:25:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65774/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><br />====quote====<br /><br /><br />=============<br /> Вы напишите, как я написал или разбирайтесь как правильно раскрыть макрос<br /><br /><br />=============<br />Вы уверены ?? Что у Вас это работает ?? У меня НЕ РАБОТАЕТ. <br />
			<i>20.09.2022 19:13:37, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65774/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65774/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 19:13:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65773/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CDEFGSJc" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><br /><br />=============<br /> Вы напишите, как я написал или разбирайтесь как правильно раскрыть макрос<br />--------------<br /> (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0))<br />и нужно ли удалять значение из стека<br />lua_pushvalue(L, -1);<br />--------------------<br />у меня один оператор, а умник наплодил три.<br />=============<br /><br />
====code====
<pre>extern "C" LUALIB_API int luaopen_lua_dll_x64_name(lua_State * L) 
{
&nbsp;&nbsp;&nbsp;&nbsp;luaL_newlib(L, ls_lib);
&nbsp;&nbsp;&nbsp;&nbsp;return 1;
}
</pre>
=============
Однако при запуске скрипта:<br />
====code====
<pre>path = getScriptPath() .. "&#92;&#92;lua_dll_x64_name.dll"
package.loadlib(path, "luaopen_lua_dll_x64_name")()

function main()
&nbsp;&nbsp; message(lua_dll_x64_name.TestFunc())
end</pre>
=============
Все равно в квике возникает ошибка:<br />
====code====
<pre>&#92;Quil_Lua_connector&#92;Lua_script.lua.txt:2: attempt to call a nil value</pre>
============= <br />
			<i>20.09.2022 18:36:28, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65773/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65773/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 18:36:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65760/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_2ZOnYK0e" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />у вас ошибка в <br />----------------------<br />extern &quot;C&quot; LUALIB_API int luaopen_lua_dll_x64_name(lua_State * L) {<br /> &nbsp; &nbsp; lua_newtable(L); &nbsp; <br /> &nbsp; &nbsp;luaL_setfuncs(L, ls_lib, 0);<br /> &nbsp; &nbsp;lua_pushvalue(L, -1);<br /> &nbsp; &nbsp;lua_setglobal(L, &quot;lua_dll_x64_name&quot;);<br /> &nbsp; &nbsp;return 0;<br />}<br /><br />-- для LUA5.3 надо так:<br /><br />//=== Регистрация реализованных в dll функций, чтобы они стали &quot;видимы&quot; для Lua ================================//<br /> luaL_Reg ls_lib&#91;&#93; = {<br /> &nbsp; &nbsp;{&quot;TestFunc&quot;, forLua_TestFunc},<br /> &nbsp; &nbsp;{NULL, NULL}<br />};<br /><br />//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//<br />extern &quot;C&quot; LUALIB_API int luaopen_lua_dll_x64_name(lua_State * L) {<br />luaL_newlib(L,ls_lib);	<br />	lua_setglobal(L, &nbsp;&quot;lua_dll_x64_name&quot;);<br /> &nbsp; return 1;<br />}<br />=============<br />Вы напишите, как я написал или разбирайтесь как правильно раскрыть макрос<br />--------------<br /> (luaL_newlibtable(L,l), luaL_setfuncs(L,l,0))<br />и нужно ли удалять значение из стека<br />lua_pushvalue(L, -1);<br />--------------------<br />у меня один оператор, а умник наплодил три. <br />
			<i>20.09.2022 09:06:21, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65760/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65760/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 09:06:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65758/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TSA65iXn" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/82/" target="_blank" rel="nofollow">swerg</a></noindex> написал:<br /> &nbsp;<noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex> &nbsp;<br />=============<br />Извините, не могу зарегистрироваться на том форуме, не приходит письмо активации.<br /> <br />=============<br />Регистрация удалась, я верно понял? <br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_zAhQeZ7s" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a>Если есть возможность, то могли бы Вы подсказать ?<br />Сделал, как в Вашем примере на 3 стр <br />=============<br />Это пример, опубликованный одним из участников форума.<br />К нему и вопросы почему этот код не работает. <br />
			<i>20.09.2022 08:33:39, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65758/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65758/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 08:33:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65755/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			возьмите Scite и поставьте контрольную печать и увидите где ошибки <br />
			<i>20.09.2022 08:00:12, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65755/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65755/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 08:00:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65754/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_cjIgPAme" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />sweg<br />=============<br /> &nbsp;<br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/15783/" target="_blank" rel="nofollow">Serg_</a></noindex> &nbsp;написал:<br /> &nbsp; <br />====quote====<br /> &nbsp;<noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> &nbsp; написал:<br />ну как знаете<br />я Вам пишу со своих работающих исходников<br />=============<br /> &nbsp; Так &nbsp;я не понял. А в чем ошибка то в lua_newtable(L); &nbsp; ?<br />=============<br /> <br />согласно документации можно и так и эдак:<br /><br />=============<br /> Но если можно и так и эдак, то почему ошибка то возникает.<br />=============<br />поставьте контрольную печать, либо выложите свой исходник полностью. <br />
			<i>20.09.2022 07:59:36, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65754/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65754/topic7632/</guid>
			<pubDate>Tue, 20 Sep 2022 07:59:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65751/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UdYHhAuY" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />sweg<br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_F0ulMdp3" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15783/" target="_blank" rel="nofollow">Serg_</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> &nbsp;написал:<br />ну как знаете<br />я Вам пишу со своих работающих исходников<br />=============<br /> &nbsp;Так &nbsp;я не понял. А в чем ошибка то в lua_newtable(L); &nbsp; ?<br />=============<br /><br />согласно документации можно и так и эдак:<br /><br /><br />=============<br />Но если можно и так и эдак, то почему ошибка то возникает. <br />
			<i>19.09.2022 21:21:24, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65751/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65751/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 21:21:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65750/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			используйте SciTe для отладки Вашего теста <br />
			<i>19.09.2022 20:34:19, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65750/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65750/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 20:34:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65749/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_XmNTpJUm" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />ну как знаете<br />я Вам пишу со своих работающих исходников<br />=============<br /> Так &nbsp;я не понял. А в чем ошибка то в lua_newtable(L); &nbsp; ?<br />=============<br />если непонятно, то смотрим документацию:<br /><noindex><a href="https://www.lua.org/manual/5.3/manual.html" target="_blank" rel="nofollow">https://www.lua.org/manual/5.3/manual.html</a></noindex><br />согласно документации можно и так и эдак:<br />luaL_newlib<br /><p>void luaL_newlib (lua_State *L, const luaL_Reg l&#91;&#93;);</p><p>Создает новую таблицу и регистрирует там функции в списке l.</p><p>Он реализован в виде следующего макроса:</p>(luaL_newlibtable(L,l), luaL_setfuncs(L,l,0))<br /><p>Массив lдолжен быть фактическим массивом, а не указателем на него.</p>luaL_newlibtable<br /><p>аннулирует luaL_newlibtable (lua_State *L, const luaL_Reg l&#91;&#93;);</p><p>Создает новую таблицу с размером, оптимизированным для хранения всех записей в массиве l(но фактически не сохраняет их). Оно предназначено для использования в сочетании с <noindex><a href="https://www.lua.org/manual/5.3/manual.html#luaL_setfuncs" target="_blank" rel="nofollow">luaL_setfuncs</a></noindex>(см. <noindex><a href="https://www.lua.org/manual/5.3/manual.html#luaL_newlib" target="_blank" rel="nofollow">luaL_newlib</a></noindex>).</p><p>Он реализован в виде макроса. Массив lдолжен быть фактическим массивом, а не указателем на него.</p><p></p> <br />
			<i>19.09.2022 20:32:37, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65749/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65749/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 20:32:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65747/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7jX5t5iX" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />ну как знаете<br />я Вам пишу со своих работающих исходников<br />=============<br />Так &nbsp;я не понял. А в чем ошибка то в lua_newtable(L); &nbsp; ? <br />
			<i>19.09.2022 20:10:08, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65747/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65747/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 20:10:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65746/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			ну как знаете<br />я Вам пишу со своих работающих исходников <br />
			<i>19.09.2022 20:03:23, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65746/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65746/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 20:03:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65745/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			я использую 5.3 так как это работает для всех версий КВИК<br />а 5.4 лишь начиная с 9.X но пока там много ошибок <br />и там можно включить 5.3<br />для 5.4 не помню, возможно и так как у вас. <br />
			<i>19.09.2022 20:02:46, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65745/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65745/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 20:02:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65744/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_RfNxU2xr" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15783/" target="_blank" rel="nofollow">Serg_</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> &nbsp;написал:<br />у вас ошибка в<br />=============<br /> &nbsp;Ну так написано у Swerg`а.<br />=============<br /> у него для разных версий есть<br />посмотрите для какой вы взяли пример<br />надо брать не ниже 5.3<br />=============<br />Так я для 5.3 и взял. <br />
			<i>19.09.2022 20:01:10, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65744/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65744/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 20:01:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65743/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_yUCRxLvx" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />у вас ошибка в<br />=============<br /> Ну так написано у Swerg`а.<br />=============<br />у него для разных версий есть<br />посмотрите для какой вы взяли пример<br />надо брать не ниже 5.3 <br />
			<i>19.09.2022 19:59:46, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65743/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65743/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:59:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65742/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WAtHdfA3" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />у вас ошибка в<br /><br />=============<br />Ну так написано у Swerg`а. <br />
			<i>19.09.2022 19:55:42, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65742/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65742/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:55:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65741/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			у вас ошибка в <br />----------------------<br />extern &quot;C&quot; LUALIB_API int luaopen_lua_dll_x64_name(lua_State * L) {<br /><B> &nbsp; &nbsp;lua_newtable(L); &nbsp;</B><br /> &nbsp; &nbsp;luaL_setfuncs(L, ls_lib, 0);<br /> &nbsp; &nbsp;lua_pushvalue(L, -1);<br /> &nbsp; &nbsp;lua_setglobal(L, &quot;lua_dll_x64_name&quot;);<br /> &nbsp; &nbsp;return 0;<br />}<br /><br />-- для LUA5.3 надо так:<br /><br />//=== Регистрация реализованных в dll функций, чтобы они стали &quot;видимы&quot; для Lua ================================//<br /> luaL_Reg ls_lib&#91;&#93; = {<br /> &nbsp; &nbsp;{&quot;TestFunc&quot;, forLua_TestFunc},<br /> &nbsp; &nbsp;{NULL, NULL}<br />};<br /><br />//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//<br />extern &quot;C&quot; LUALIB_API int luaopen_lua_dll_x64_name(lua_State * L) {<br />luaL_newlib(L,ls_lib);	<br />	lua_setglobal(L, &nbsp;&quot;lua_dll_x64_name&quot;);<br /> &nbsp; return 1;<br />} <br />
			<i>19.09.2022 19:50:03, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65741/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65741/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:50:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65740/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			в редакторе используйте print<br />и контрольную печать в СИ<br />в SCITE будет видно все <br />
			<i>19.09.2022 19:45:04, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65740/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65740/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:45:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65739/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			вообще-то лучше делать все в SciTe<br />это редактор на луа с отладциком<br />пока вам квик не нужен<br />напишите тест для луа <br />
			<i>19.09.2022 19:43:40, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65739/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65739/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:43:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65738/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			сделайте так:<br />---------------------<br />lua_dll_x64_name = require(&quot;lua_dll_x64_name&quot;)<br /><br />message((tostring(lua_dll_x64_name)) -- печатает что это таблица если правильно<br />message(tostring(lua_dll_x64_name.TestFunc())) -- напечатает результат <br />
			<i>19.09.2022 19:42:42, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65738/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65738/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:42:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65736/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_hwmnyQSV" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15783/" target="_blank" rel="nofollow">Serg_</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> &nbsp;написал:<br /> &nbsp;<noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex> &nbsp;<br />=============<br /> &nbsp;Сделал по примеру swerg: &nbsp; <noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex> &nbsp;<br /><br />выдает ошибку.<br />=============<br /> какую?<br />=============<br /><br />Я делаю так:<br /><br />
====code====
<pre>//=== Необходимые для Lua константы ============================================================================//
#define LUA_LIB
#define LUA_BUILD_AS_DLL

//=== Заголовочные файлы LUA ===================================================================================//
extern "C" {
#include "Lua&#92;lauxlib.h"
#include "Lua&#92;lua.h"
}

//=== Стандартная точка входа для DLL ==========================================================================//
BOOL APIENTRY DllMain(HANDLE hModule, DWORD&nbsp;&nbsp;fdwReason, LPVOID lpReserved) {
&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;
}

//=== Реализация функций, вызываемых из LUA ====================================================================//
static int forLua_TestFunc(lua_State* L){
&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(L, "Привет из C/C++");
&nbsp;&nbsp;&nbsp;&nbsp;return(1);
}


//=== Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua ================================//
static struct luaL_Reg ls_lib&#91;&#93; = {
&nbsp;&nbsp;&nbsp;&nbsp;{"TestFunc", forLua_TestFunc},
&nbsp;&nbsp;&nbsp;&nbsp;{NULL, NULL}
};

//=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================//
extern "C" LUALIB_API int luaopen_lua_dll_x64_name(lua_State * L) {
&nbsp;&nbsp;&nbsp;&nbsp;lua_newtable(L);
&nbsp;&nbsp;&nbsp;&nbsp;luaL_setfuncs(L, ls_lib, 0);
&nbsp;&nbsp;&nbsp;&nbsp;lua_pushvalue(L, -1);
&nbsp;&nbsp;&nbsp;&nbsp;lua_setglobal(L, "lua_dll_x64_name");
&nbsp;&nbsp;&nbsp;&nbsp;return 0;
}</pre>
=============
<br />Visual Studio компилирует .dll.<br /><br />Я помещаю созданный lua_dll_x64_name.dll в папку с quik, где находися файл info.exe. Запускаю в quik скрипт:<br />
====code====
<pre>lua_dll_x64_name = require("lua_dll_x64_name")

message(lua_dll_x64_name.TestFunc())</pre>
=============
<br />Но quik выдает ошибку:<br />
====code====
<pre>attempt to index a boolean value (global 'lua_dll_x64_name')</pre>
============= <br />
			<i>19.09.2022 19:02:59, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65736/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65736/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 19:02:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65734/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			изучите исходники w32 sweg<br />там все понятно <br />
			<i>19.09.2022 18:48:19, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65734/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65734/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 18:48:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65733/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_HEwJJRLB" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br /> <noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex> <br />=============<br /> Сделал по примеру swerg: &nbsp;<noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex> <br /><br />выдает ошибку.<br />=============<br />какую? <br />
			<i>19.09.2022 18:47:14, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65733/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65733/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 18:47:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65731/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0Z0bAIdZ" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /><noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex><br />=============<br />Сделал по примеру swerg: <noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex><br /><br />выдает ошибку. <br />
			<i>19.09.2022 16:11:34, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65731/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65731/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 16:11:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65730/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zUEMyqr4" href="/user/15783/" bx-tooltip-user-id="15783">Serg_</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/15783/" target="_blank" rel="nofollow">Serg_</a></noindex> &nbsp;написал:<br />Подскажите, есть ли какие ни будь условно официальные примеры, как связать С++ с Quik ?<br />Как сделать dll ?<br />=============<br /> &nbsp;Все есть безусловно официально.<br />В КВИК встроена виртуальная машина луа без каких либо изменений исходников<br />поэтому читайте API C для &nbsp;lua.<br />-------------------------<br />Я так пишу функции для QUIK &nbsp;на СИ от &nbsp;колбек <br />до многопоточной обработки данных в LUA.<br />----------------------<br />QLUA - это библиотека написанная на API C.<br />--------------------<br />Или в чем то другом проблема?<br />=============<br /> Не могу понять, как через dll - все это делать. Откроено говоря - это неМного геморрой. Продукту 20 лет, а нормального API почему то нет.<br />=============<br />Вообще-то есть даже учебники о том как использовать API C<br />------------<br />как писать dll <br />поясняю<br />-------------------<br />берете любой компилятор СИ<br />---------------<br />Я например последнее время для dll луа использую Pelles C<br />Очень хороший пакет именно для СИ<br />--------------<br />иногда использую MVC.<br />================<br />Далее в любимом IDE выбираете создать DLL<br />и пишите программу на CB<br />Функции СИ пишите как обычно для СИ<br />А для вызова их из луа делаете обертку<br />--------------<br />типа такой:<br />--------------------<br />static int stop(lua_State *L) { &nbsp;<br />//здесь вставляете преобразование данных луа в данные СИ<br />QueryPerformanceCounter(&amp;count1);<br /><br /> lua_pushinteger(L,(count1.QuadPart-count.QuadPart)); //это преобразование целого &nbsp;в формат луа и запись в стек<br />return 1; &nbsp;-- это число возвращаемых параметров<br /> }<br />Все функции API C<br />здесь<br /><noindex><a href="http://antirek.github.io/luabook/api.htm" target="_blank" rel="nofollow">http://antirek.github.io/luabook/api.htm</a></noindex><br />если любите C++<br />то читайте это:<br /><noindex><a href="https://habr.com/ru/post/237503/" target="_blank" rel="nofollow">https://habr.com/ru/post/237503/</a></noindex><br />------- <br />
			<i>19.09.2022 16:07:58, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65730/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65730/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 16:07:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65729/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Не могу понять даже, как дебажить эту ошибку. <br />
			<i>19.09.2022 15:58:51, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65729/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65729/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 15:58:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65727/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Точнее вот эту ошибку:<br />
====code====
<pre>attempt to call a nil value</pre>
============= <br />
			<i>19.09.2022 15:50:56, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65727/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65727/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 15:50:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65726/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_UVF4dP6A" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br /> <noindex><a href="https://quik2dde.ru/viewforum.php?id=14" target="_blank" rel="nofollow">https://quik2dde.ru/viewforum.php?id=14</a></noindex> <br />=============<br />Извините, не могу зарегистрироваться на том форуме, не приходит письмо активации.<br /><br />Если есть возможность, то могли бы Вы подсказать ?<br />Сделал, как в Вашем примере на 3 стр, Visual Studio создала dll ---&gt; &quot;lua_dll_x64_name.dll&quot; - компилировал, как debug x64. <br />Скопировал &quot;lua_dll_x64_name.dll&quot; в папку с quik, где находится файл Info.exe и запустил скрипт:<br />
====code====
<pre>path = getScriptPath() .. "&#92;&#92;lua_dll_x64_name.dll"
package.loadlib(path, "luaopen_lua_dll_x64_name")()

function main()
&nbsp;&nbsp; message(lua_dll_x64_name.TestFunc())
end</pre>
=============
Однако quik выдает ошибку:<br />
====code====
<pre>Lua_script.lua.txt:3: attempt to index a boolean value (global 'lua_dll_x64_name')</pre>
============= <br />
			<i>19.09.2022 15:46:14, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65726/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65726/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 15:46:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Lua - C++ - примеры</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message65724/topic7632/">Lua - C++ - примеры</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Zr1IVtoR" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15783/" target="_blank" rel="nofollow">Serg_</a></noindex> написал:<br />Подскажите, есть ли какие ни будь условно официальные примеры, как связать С++ с Quik ?<br />Как сделать dll ?<br />=============<br /> Все есть безусловно официально.<br />В КВИК встроена виртуальная машина луа без каких либо изменений исходников<br />поэтому читайте API C для &nbsp;lua.<br />-------------------------<br />Я так пишу функции для QUIK &nbsp;на СИ от &nbsp;колбек <br />до многопоточной обработки данных в LUA.<br />----------------------<br />QLUA - это библиотека написанная на API C.<br />--------------------<br />Или в чем то другом проблема?<br />=============<br />Не могу понять, как через dll - все это делать. Откроено говоря - это неМного геморрой. Продукту 20 лет, а нормального API почему то нет. <br />
			<i>19.09.2022 15:33:09, Serg_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message65724/topic7632/</link>
			<guid>http://forum.quik.ru/messages/forum10/message65724/topic7632/</guid>
			<pubDate>Mon, 19 Sep 2022 15:33:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
