<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта. форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 14:28:53 +0300</pubDate>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80573/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Шутить изволите... ну Ок. Понадеялся, что Вам известны некие недокументированные объекты/таблицы/функции для транслировния значений глобальных переменных Lua между разными исполняемыми скриптами без дополнительных библиотек/файлов. <br />
			<i>19.12.2025 07:30:15, Бес Паники.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80573/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80573/topic9379/</guid>
			<pubDate>Fri, 19 Dec 2025 07:30:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80569/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_h3L4GN7L" href="/user/17127/" bx-tooltip-user-id="17127">Бес Паники</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />Для обмена между скриптами т е потоками main &nbsp;в разных скриптах QUIK , использую глобальные переменные.<br />=============<br /> Подскажите пожалуйста где посмотреть подробнее про такой обмен данными в Quik между разными скриптами, запущенными по отдельности.<br />=============<br />для начала спросите у алисы: &nbsp;обмен данными между потоками в одном приложении <br />
			<i>18.12.2025 13:17:35, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80569/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80569/topic9379/</guid>
			<pubDate>Thu, 18 Dec 2025 13:17:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80565/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0IzYT4ST" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />Для обмена между скриптами т е потоками main &nbsp;в разных скриптах QUIK , использую глобальные переменные.<br />=============<br />Подскажите пожалуйста где посмотреть подробнее про такой обмен данными в Quik между разными скриптами, запущенными по отдельности. <br />
			<i>18.12.2025 12:22:13, Бес Паники.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80565/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80565/topic9379/</guid>
			<pubDate>Thu, 18 Dec 2025 12:22:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80564/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Еще забыл про такое решение <noindex><a href="https://github.com/devslm/quik-connector" target="_blank" rel="nofollow">https://github.com/devslm/quik-connector</a></noindex> в качестве транспортной шины данных используется Redis <br />
			<i>18.12.2025 11:33:37, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80564/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80564/topic9379/</guid>
			<pubDate>Thu, 18 Dec 2025 11:33:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80437/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			...замечу, глобальные переменные не луа, а среды исполнения приложения. <br />
			<i>07.12.2025 16:27:54, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80437/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80437/topic9379/</guid>
			<pubDate>Sun, 07 Dec 2025 16:27:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80436/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wrWTgad7" href="/user/1338/" bx-tooltip-user-id="1338">A.T.</a> написал:<br />Потому что это совсем колхоз, архитектурно неправильно. Я еще должен выделять специальное место в системе, как загашник... Когда существует официальная связка Lua-C (описанная в книге Иерусалимского), в детали не вникал и данные не гонял, но тестовый запуск уже получился, это есть.<br /><br />Тем более есть мысли применить такой мост Lua-C &lt;=&gt; VC++ (MFC, скорее всего) и в другом месте, не только как узкоспециальный плагин на раз.<br /><br />И потом, что значит &quot;особенно в RAM диске&quot;? Мне еще сторонний витруальный диск ради этого создавать? Какими-то сторонними драйверами? И запускать/пересоздавать его, заботиться после каждой перезагрузки. Который будет мешаться в системе в повседневных делах. У меня не только квик, у меня и другие развлечения есть.<br />То есть это даже не костыль, это хуже. Настолько временное решение, что лучше о нем не думать.<br />На сайте Майкрософта висит готовый пример для named pipes. И не только для него.<br /><br />Насчет протокол на запрос-ответ понадобится в любом случае, тут спасибо за заметку. Пока думаю об этом в первом приближении. Думаю отделаться простыми переменными, if-elsами, сравнениями и кейсами. Хотя это не дело, если делать нормальный переносимый мост. Но для себя сгодится и так. Наверно. Тут не знаю, опыта в создании протоколов нет.<br />=============<br />Расскажу свой опыт решения этой задачи.<br />--------------------<br />Сначала кратко повторю то, что уже недавно и давно писал на форуме с тестами.<br />------------------------<br />Во-первых замечу если ставите sleep ( я использую event) то задержка передачи данных будет равна задержке sleep. &nbsp;можно поставить sleep(10) этого достаточно чтобы поток не грузил ядро впустую.<br />Можно даже поставить sleep(1) &nbsp;но задержка реально будет примерно 10 ms - это квант OS. <br />--------------------<br />Так вот обмен через файлы это самое простое (примерно 10 операторов) и задержка не более 15 ms<br />----------------------<br />Я использую для обмена между процессами File Mapping <noindex><a href="https://learn.microsoft.com/en-us/windows/win32/memory/using-file-mapping" target="_blank" rel="nofollow">https://learn.microsoft.com/en-us/windows/win32/memory/using-file-mapping</a></noindex><br />При этом если использовать event, то задержа примерно в 100 раз меньше, чем при обмене через файлы.<br />Для обмена между скриптами т е потоками main &nbsp;в разных скриптах QUIK , использую глобальные переменные. <br /> При этом, если использовать event, то задержка примерно в 1000 раз меньше, чем при обмене через файлы (3-5 мкс)<br />---------------------------- &nbsp;<br />Эти методы самые быстрые.<br />------------------- <br />
			<i>07.12.2025 16:22:51, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80436/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80436/topic9379/</guid>
			<pubDate>Sun, 07 Dec 2025 16:22:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80435/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Потому что это совсем колхоз, архитектурно неправильно. Я еще должен выделять специальное место в системе, как загашник... Когда существует официальная связка Lua-C (описанная в книге Иерусалимского), в детали не вникал и данные не гонял, но тестовый запуск уже получился, это есть.<br /><br />Тем более есть мысли применить такой мост Lua-C &lt;=&gt; VC++ (MFC, скорее всего) и в другом месте, не только как узкоспециальный плагин на раз.<br /><br />И потом, что значит &quot;особенно в RAM диске&quot;? Мне еще сторонний витруальный диск ради этого создавать? Какими-то сторонними драйверами? И запускать/пересоздавать его, заботиться после каждой перезагрузки. Который будет мешаться в системе в повседневных делах. У меня не только квик, у меня и другие развлечения есть.<br />То есть это даже не костыль, это хуже. Настолько временное решение, что лучше о нем не думать.<br />На сайте Майкрософта висит готовый пример для named pipes. И не только для него.<br /><br />Насчет протокол на запрос-ответ понадобится в любом случае, тут спасибо за заметку. Пока думаю об этом в первом приближении. Думаю отделаться простыми переменными, if-elsами, сравнениями и кейсами. Хотя это не дело, если делать нормальный переносимый мост. Но для себя сгодится и так. Наверно. Тут не знаю, опыта в создании протоколов нет. <br />
			<i>07.12.2025 01:32:18, A.T..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80435/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80435/topic9379/</guid>
			<pubDate>Sun, 07 Dec 2025 01:32:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80434/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sW5HYKFm" href="/user/1338/" bx-tooltip-user-id="1338">A.T.</a> написал:<br />Причем, мне не критично к скорости, да и к объёму.<br />=============<br />Тогда не понятно, чем Вас файлы не устраивают, особенно в RAM диске. Это даже не потребует dll для QLua. А протокол на запрос-ответ понадобится в любом случае. <br />
			<i>06.12.2025 22:25:18, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80434/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80434/topic9379/</guid>
			<pubDate>Sat, 06 Dec 2025 22:25:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80433/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Задача прогнать небольшие данные из QLua квика во внешнюю C++ программу.<br />Обмен данных между программами.<br />Совершать обмен данных, туда и обратно по запросу из внешней программы. Причем, мне не критично к скорости, да и к объёму.<br /><br />Где &quot;сервером&quot; будет QLua-скрипт квика, а клиентом - внешняя программа.<br /><br />Локальный TCP как раз не хотелось бы использовать, потому что придется писать некое продобие протокола на запрос-ответ, и точно не понадобится сеть (всё делается на одной машине localhost 127.0.0.1), хотя на самом деле TCP интерфейс был бы идеальным универсальным вариантом.<br />Поэтому предлагаю себе посмотреть в сторону named pipes. Идея схожа с TCP. Потому что shared memory гораздо сложнее в реализации. На сайте майкрософта для моих целей небольших обменов данных между программами предлагают даже локальные windows-messages. В этом видится определённое извращение, но это вплоне себе несложный и &quot;законный&quot; вариант, как представляется.<br /><br />Qt тут точно ненужный гость. Предлагаю самый простой и базовый VisualC++ (одной из свежих версий), MFC (да-да, древнюю, но рабочую классику, это база всех windows-программ по сей день, даже Офиса от самого MSFT) и базовых вещей системного windows-программирования. Проблема как в том, что очень много C++ (особенно русскоязычных) в основом под C++ понимают Qt или что-то из мира GNU/Linux, портированное в Windows, а это как раз совсем не нужно.<br />Про базовый MFC они почти ничего и не знают. Я не говорю, что он очень нужен здесь, я описываю положение вещей.<br />Даже просмотренный qluacpp пропитан Линуксом и некоторым фундаментальным непониманием автора некоторых базовых вещей. То есть та еще поделка на коленке. Поэтому появился <noindex><a href="https://github.com/Arech/qluacpp2" target="_blank" rel="nofollow">Arech/qluacpp2</a></noindex>, костыль на костыль.<br />Ну что ж, посмотрим, что там можно причесать или оттяпать. Если что-то вообще можно. <br />
			<i>06.12.2025 19:48:29, A.T..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80433/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80433/topic9379/</guid>
			<pubDate>Sat, 06 Dec 2025 19:48:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80430/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			У qluacpp есть форк <noindex><a href="https://github.com/Arech/qluacpp2" target="_blank" rel="nofollow">https://github.com/Arech/qluacpp2</a></noindex><br /><br />Правда тоже надо пилить напильником. В данном случае проще написать логику через dll на Lua C API.Но если все же смотреть на TCP, то тот же QuikQtBridge (<noindex><a href="https://github.com/eSKond/QuikQtBridge" target="_blank" rel="nofollow">https://github.com/eSKond/QuikQtBridge</a></noindex>) написан на С++, правда с использованием Qt (для сетевой части). И он мне больше нравится, чем QUIKSharp, т.к. у оного сервер, по факту, написан на Lua. Если задача построить только серверную часть, то можно и взять только её. <br />
			<i>06.12.2025 18:35:15, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80430/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80430/topic9379/</guid>
			<pubDate>Sat, 06 Dec 2025 18:35:15 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80429/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Нашел qluacp, как вижу требует серьезного причесывания и некоторого обновления. Но хотя бы есть что посмотреть и от чего отталкиваться. Не очень понял с первого взгляда, как именно там устроен IPC (передача данных от Lua-C к программе на C++ и обратно), вроде файлы с диска читает в некоторых примерах, а это очень нехорошо.<br />Но хотя бы пощупать пример. Спасибо.<br />Проще, возможно, даже что-то свое сдалать, максимально легковесное.<br /><br />На самом деле, скажу больше.<br />В одной из старейших американских торговых платформ, техасских, (существовала с начала 90-х до 2012) именно для американского рынка и местных клиентов (IB еще не существовало, тем более в России), идея написания внешних программ и плагинов была предельно лаконичной. Платформа всегда открывала локальный TCP порт и имела что-то вроде простого telnet-протокола. Все эти getParamEx, разный getInfo по инструментам (или как его там) и даже sendTransaction были вынесены в своего рода простые текстовые запросы по TCP (наподобие telnet- или ssh-команд, только без шифрования, тот же http намного сложнее, если сравнить). И был pdf файлик-приложение, описывающий этот протокол и доступные команды на ввод-вывод. Команд, ксати, немного и все прекрасно описаны. Вполне хватает для многих идей. <br /><br />Далее пишется по сути даже не плагин к торговой платформе, а обычная клиент-серверная программа-клиент по обычному TCP, даже удаленному, если открыть порты. На любом языке, который в состоянии держать обычные сетевые соединения. <br />По сути Квик реализует то же самое, но hard-coded в рамках встроенного языка, строго в рамках предлагаемой песочницы Lua, из которой &quot;выбираться&quot; предлагается каждому самостоятельно.<br />С одной стороны имеются некоторые преимущества -- намного проще написать GUI-таблицу для квика, даже с &quot;кнопками&quot;, с другой стороны гораздо меньше подвижности и масштабируемости. И непонятно, как брать данные, появлется тонна головной боли и ощущение недоделки в смысле архитектуры.<br /><br />Платформа называлась InstaQuote с логоитипом похожим на Quik, и интерфейс очень похож на Quik. Была выкуплена Bank of America в 2012, переименована в Red-чего-то, извращена индусскими программистами и закрыта со временем. <br />
			<i>06.12.2025 18:13:53, A.T..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80429/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80429/topic9379/</guid>
			<pubDate>Sat, 06 Dec 2025 18:13:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80428/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			C# (шарпы) к сожалению не подходят никак. Максимум подсмотреть общую идею реализации. Писать внешнюю программу придется именно на C++, потому что это плагин к другой программе (четвертой), а там принимают плагины только на C++ или Java (которой я не знаю) по заданному шаблону.<br />Если получится, то получится очень красиво.<br />Но на C# как раз реализовать подобный мост проще всего. Проект QUIKSharp вроде даже видел.<br />На С++ очень мало программистов и примеров. Причем имеется в виду VC++<br />qluacpp надо бы поикать, не вижу <br />
			<i>06.12.2025 17:38:53, A.T..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80428/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80428/topic9379/</guid>
			<pubDate>Sat, 06 Dec 2025 17:38:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80426/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Решения через Socket уже есть: QUIKSharp и QuikQtBridge. Еще есть StockSharp, но много нареканий на него.<br />Также есть RPC вариант - quik-lua-rpc<br />Был еще прямой интерфейс на c++ (но уже давно не поддерживается): qluacpp<br /><br />По названиям легко найдете репозитории. <br />
			<i>06.12.2025 09:52:35, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80426/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80426/topic9379/</guid>
			<pubDate>Sat, 06 Dec 2025 09:52:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80425/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Под main quik выделяет отдельный поток, ничего страшного если в нем будут тяжелые задачи. Однако, без sleep() одно из ядер процессора будет всегда нагружено на 100%. <br /><U>Задержка не всегда нужна. </U><br />Например, при использовании библиотеки lua socket поток уже блокируется методами send, receive, и accept (если использовать их в main). &nbsp; <br />
			<i>05.12.2025 21:30:57, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80425/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80425/topic9379/</guid>
			<pubDate>Fri, 05 Dec 2025 21:30:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message80424/topic9379/">Как создать мост QLua-скрипта с другим C++ приложением? Вопрос концепта.</a></b> <i>Предлагаю такой подход, но есть вопросы.</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я хочу, чтобы внешняя windows-программа, допустим на C++ (но это детали), коннектилась к QLua локально (через named pipes или shared memory или другим IPC-способом) или удаленно по TCP/IP.Концепт такой. В Квике запускается QLua скрипт, который на борту несет C++ модуль подключенный через require. Между ними происходит обмен Lua-C, это в впринципе описано. Пока вопросом тут нет.<br />Внутри этого &nbsp;C++ модуля, допустим встроен named pipes или winsock (для TCP/IP) для IPC межпроцессного взаимодействия. <br />Неважно, что именно, обсуждаем сам подход.<br /><br />И есть внешняя программа, допустим написанная на том же C++.<br />Она подключается, когда захочет, когда пльзователь запустит эту программу и нажмет, может вообще не подключаться, но QLua-скрипт уже должен быть запущен на тот момент и быть готов принять &quot;подключение&quot;.<br />Внутри этого запущенного QLua-скрипта будет что-то вроде:<br />
====code====
<pre>function doing_stuff()
... здесь данные и вся работа с Lua-C
end

function main()
&nbsp;&nbsp; while is_running do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doing_stuff()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sleep(100)
&nbsp;&nbsp; end
end&nbsp;&nbsp; </pre>
=============
У меня вопрос к строчке <br />
====code====
<pre> Sleep(100)</pre>
=============
Это нормальный вообще концепт в контесет QLua?<br />То есть скрипт с периодичностью 100 мс проверяет, нет ли внешнего подключения, не дёргает ли его кто-то, не просит ли чего-то.<br />Не вставить этот Sleep нельзя, как понимаю. А какая должна быть оптимальная задержка тут? 500, 100, 200, 1000 ?!<br /><br />И хорош ли сам концепт? Есть ли какие возражения?<br />Внешняя программа на C++ действительно имеется и она должна именно эпизодически подключаться по запросу, не висеть всегда в онлайне. <br />
			<i>05.12.2025 20:20:37, A.T..</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message80424/topic9379/</link>
			<guid>http://forum.quik.ru/messages/forum10/message80424/topic9379/</guid>
			<pubDate>Fri, 05 Dec 2025 20:20:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
