<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Некорректная выгрузка DLL при завершении скрипта]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Некорректная выгрузка DLL при завершении скрипта форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 20:01:44 +0300</pubDate>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message52394/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если еще интересна данный вопрос.<br />Сегодня столкнулся с подобной проблемой. в коде<br />
====code====
<pre>package.cpath = getWorkingFolder().."&#92;&#92;Libraries&#92;&#92;Test.dll"
require("Test")

------------------------------------------------------------------
Run = true
function main()
&nbsp;&nbsp;&nbsp;&nbsp;message(get_test.test_info())
&nbsp;&nbsp;&nbsp;&nbsp;while (Run) do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;end
end
------------------------------------------------------------------
function OnStop()
&nbsp;&nbsp;&nbsp;&nbsp;Run = false
&nbsp;&nbsp;&nbsp;&nbsp;return 5000;
end
function OnClose()
&nbsp;&nbsp;&nbsp;&nbsp;Run = false
end</pre>
=============
Поймал проблему с выгрузкой DLL после завершения работы скрипта.<br />
====code====
<pre>package.cpath = getWorkingFolder().."&#92;&#92;Libraries&#92;&#92;Test.dll"

function OnInit()
&nbsp;&nbsp;&nbsp;&nbsp;require("Test")
end
------------------------------------------------------------------
Run = true
function main()
&nbsp;&nbsp;&nbsp;&nbsp;message(get_test.test_info())
&nbsp;&nbsp;&nbsp;&nbsp;while (Run) do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;end
end
------------------------------------------------------------------
function OnStop()
&nbsp;&nbsp;&nbsp;&nbsp;Run = false
&nbsp;&nbsp;&nbsp;&nbsp;return 5000;
end
function OnClose()
&nbsp;&nbsp;&nbsp;&nbsp;Run = false
end</pre>
=============
проблема ушла в небытие. DLL сразу выгружается при завершении работы скрипта. <br />
			<i>01.02.2021 23:08:41, Константин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message52394/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message52394/topic6030/</guid>
			<pubDate>Mon, 01 Feb 2021 23:08:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51150/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dNSsyMZm" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex><br /> &nbsp;
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unk :&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;&nbsp; nil&nbsp;&nbsp;;
&nbsp;&nbsp;OleCheck(CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost, unk));
&nbsp;&nbsp;FMetaHost :&nbsp;&nbsp;=&nbsp;&nbsp; unk as ICLRMetaHost;
&nbsp;&nbsp;&nbsp;&nbsp;</pre>
=============
 <br />=============<br /> <br />Wow, под .NET на Delphi?! Мсье знает толк! :)<br />Без обид, просто неожиданно очень было увидеть.<br />=============<br />Delphi норм язык, быстрый с новыми фичами. С луа апи вообще огонь получается. <br />
			<i>17.12.2020 11:56:47, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51150/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51150/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 11:56:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51140/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_2iH5pvpB" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a>, Конечно, &quot;на Lua были и есть траблы&quot;. Но они более-менее стабильные: отладил - и забыл на долгие годы.<br /><br />ЧАВО???!!! Какие &quot;100500 строк кода&quot;?! Вот фрагмент основной таблицы моего скрипта (сегодняшний слепок) - раскрашен, как попугай! Блин, как тут картинку-то вставить? Ага, кажись, вот так...<br /><br />Не знаю, не знаю. Я вот как раз и рассчитываю, что этот мой скрипт и будет &quot;5 лет без сбоев работать&quot;. А у Билла и было-то три операционки: DOS 3.3, Win-95, да WinNT - какой уж тут, в задницу, &quot;прогресс&quot;... <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=7181&" width="932" height="311" /><br /><i>17.12.2020 10:52:04, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51140/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51140/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 10:52:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51135/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zzykZJ7X" href="/user/674/" bx-tooltip-user-id="674">Александр</a><br /> 
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;unk : =&nbsp;&nbsp; nil ;
&nbsp;&nbsp;OleCheck(CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost, unk));
&nbsp;&nbsp;FMetaHost : =&nbsp;&nbsp;unk as ICLRMetaHost;
&nbsp;&nbsp;</pre>
=============
<br />=============<br /><br />Wow, под .NET на Delphi?! Мсье знает толк! :)<br />Без обид, просто неожиданно очень было увидеть. <br />
			<i>17.12.2020 06:41:09, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51135/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51135/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 06:41:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51134/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_uAymldZe" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a>Как правило, люди крестят Lua и C++, но не QLua. И как я понял исходя даже из этого форума - это немного разные вещи.<br />=============<br /><br />Вообще никакой разницы между Lua и QLua нет. Ну с точки зрения программирования, интерфейсов и т.д.<br />QLua - это Lua с добавленными глобальными функциями грубо говоря, и это характерно для любого реального применения Lua где-либо.<br /><br />Просто для справки, для понимания. <br />
			<i>17.12.2020 06:36:05, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51134/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51134/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 06:36:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51131/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gH1SvqxM" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex>, Господи, я прекрасно понимаю, что интерпретируемый язык на 1-2 порядка медленнее. Но кому нужен ТАКОЙ код? Нормальные алгоритмы торговли времени почти не требуют.<br /><br />Насчёт &quot;есть логика, которую банально удобнее и проще реализовывать на иных языках&quot; - вообще-то, согласен: меня в своё время дико раздражало отсутствие типа integer и булевых операций. Но вот зачем &quot;lua отдает данные во внешку&quot; - это выше моего понимания! :: <br /><br />Насколько я вижу по этому форуму, проблемы с переходом на новую версию возникают как раз не у тех, кто пишет на lua (кстати, есть тут такие, кроме меня?), а как раз у &quot;альтернативщиков&quot;. А чего &quot;чинить логику&quot;? Во всех языках чуть не самая стабильная конструкция как раз if-then-else. Я и писал на lua, и других агитировал это делать как раз под этим самым лозунгом: &quot;Меньше шансов, что в очередное &quot;полезное&quot; обновление что-то отвалится&quot;.<br /><br />Да, я именно &quot;логами и мессагами&quot; и отлаживался. А &quot;удобным отладчиком&quot; не пользуюсь вот уже лет 30 - с тех пор, как нарвался, что в сложных случаях глючит как раз пошаговый отладчик.<br /><br />Ну да, в Lua у нас таблицы, причём безобразно сделанные и глючащие. А что ещё нужно, кроме &quot;примитивных ячеек и кликов по ним&quot;? Ну, горячих клавиш пара-тройка. У меня одна таблица информационная (динамически обновляемая, имеющая три режима выдачи), а вторая - контекстное меню для каждой строки первой таблицы! Накидать его можно... ну, не за секунды, а за пару часов. Накидал и забыл! Много дней у меня уж работает этот диалог, и он меня ПОЛНОСТЬЮ устраивает! Всё, у меня диалог ГОТОВ! Написан и забыт. Остались небольшие проблемы с этими долбаными прерываниями, которые тут приходят целой колодой, да ещё вразнобой. Ну и шлифовка своих алгоритмов - всю эту неделю скрипт торгует в автоматическом режиме, а я за ним присматриваю и пытаюсь понять: лучше меня он торгует или хуже. Результат явно не в мою пользу, так что даже и не знаю, что там ещё улучшать. :: &nbsp;<br />=============<br />Дык на Lua вроде писал и были траблы. Уже не вспомню с чем, вроде не сильно серьезные, но как раз на отладку и понимание что они там наменяли, что у меня полетело и ушло больше времени. Интерфейс на таблицах, ну да, была у меня наработка тоже. Типа написал и юзаешь. Да вот только ограничений много все равно. Покрасить хотя бы ячейки в разные цвета - 100500 строк кода, хоть и &quot;написал и забыл&quot;, но в другом языке это быстрее в разы. Опять же, есть уверенность, что в следующей версии они как раз до таблиц не доберутся? Да так наменяют, что весь интерфейс посыпется? )) Каждому свое. Если есть алгоритм, который можно воспроизвести на LUA - дык и хорошо. Говорю же, простые вещи я на нем и делал, году с 2015. Тогда тоже крутил, вертел и в итоге сели на LUA делать. И да, с тех пор пара скриптов так и вертится. Тот же простейший журнал сделок. 5 лет без сбоев и работал, сделки сохранял везде и всегда и помогал неоднократно, даже пару раз в спорах с брокером по поводу коммисов ) Но как бы так ведь можно было бы и до сих пор на DOS каком-нибудь сидеть. Прогресс он же прогрессирует, надо щупать новые подходы тоже )) <br />
			<i>17.12.2020 01:25:28, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51131/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51131/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 01:25:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51129/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_NZxy57zv" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a>, Господи, я прекрасно понимаю, что интерпретируемый язык на 1-2 порядка медленнее. Но кому нужен ТАКОЙ код? Нормальные алгоритмы торговли времени почти не требуют.<br /><br />Насчёт &quot;есть логика, которую банально удобнее и проще реализовывать на иных языках&quot; - вообще-то, согласен: меня в своё время дико раздражало отсутствие типа integer и булевых операций. Но вот зачем &quot;lua отдает данные во внешку&quot; - это выше моего понимания! <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> <br /><br />Насколько я вижу по этому форуму, проблемы с переходом на новую версию возникают как раз не у тех, кто пишет на lua (кстати, есть тут такие, кроме меня?), а как раз у &quot;альтернативщиков&quot;. А чего &quot;чинить логику&quot;? Во всех языках чуть не самая стабильная конструкция как раз if-then-else. Я и писал на lua, и других агитировал это делать как раз под этим самым лозунгом: &quot;Меньше шансов, что в очередное &quot;полезное&quot; обновление что-то отвалится&quot;.<br /><br />Да, я именно &quot;логами и мессагами&quot; и отлаживался. А &quot;удобным отладчиком&quot; не пользуюсь вот уже лет 30 - с тех пор, как нарвался, что в сложных случаях глючит как раз пошаговый отладчик.<br /><br />Ну да, в Lua у нас таблицы, причём безобразно сделанные и глючащие. А что ещё нужно, кроме &quot;примитивных ячеек и кликов по ним&quot;? Ну, горячих клавиш пара-тройка. У меня одна таблица информационная (динамически обновляемая, имеющая три режима выдачи), а вторая - контекстное меню для каждой строки первой таблицы! Накидать его можно... ну, не за секунды, а за пару часов. Накидал и забыл! Много дней у меня уж работает этот диалог, и он меня ПОЛНОСТЬЮ устраивает! Всё, у меня диалог ГОТОВ! Написан и забыт. Остались небольшие проблемы с этими долбаными прерываниями, которые тут приходят целой колодой, да ещё вразнобой. Ну и шлифовка своих алгоритмов - всю эту неделю скрипт торгует в автоматическом режиме, а я за ним присматриваю и пытаюсь понять: лучше меня он торгует или хуже. Результат явно не в мою пользу, так что даже и не знаю, что там ещё улучшать. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> &nbsp; <br />
			<i>17.12.2020 00:28:34, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51129/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51129/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 00:28:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51128/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dE8gAJeh" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br /><noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex>,<br />Вам дали путь решения вашей проблемы, а вы вместо задавания вопросов, начинаете выступать, так не буду, сяк не буду. У вас проблемы вы ее и решайте. Информации больше, чем достаточно. Вопрос заключается в том, чтобы вызвать из неуправляемой среды управляемый код? Луа и QLua тут не причем.<br />Примерный путь решения описан так.<br /> 
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;unk : =&nbsp;&nbsp; nil ;
&nbsp;&nbsp;OleCheck(CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost, unk));
&nbsp;&nbsp;FMetaHost : =&nbsp;&nbsp;unk as ICLRMetaHost;
&nbsp;&nbsp;unk : =&nbsp;&nbsp; nil ;
&nbsp;&nbsp;OleCheck( FMetaHost.GetRuntime (PWideChar(AClrVer), IID_ICLRRuntimeInfo, unk));
&nbsp;&nbsp;FRuntimeInfo : =&nbsp;&nbsp;unk as ICLRRuntimeInfo;
&nbsp;&nbsp; FRunTimeInfo.SetDefaultStartupFlags (GetLoaderFlags(ConcurrentGC, LoaderFlags),&nbsp;&nbsp;nil ); //Установим загрузочные флаги
&nbsp;&nbsp;OleCheck( FRuntimeInfo.IsLoadable (isLoaded)); //Проверяем на загружена ли сборка
&nbsp;&nbsp; if&nbsp;&nbsp; not&nbsp;&nbsp;isLoaded&nbsp;&nbsp;then 
&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;&nbsp;EOleError.CreateFmt (ECRLNotLoaded, &#91;AClrVer&#93;);
&nbsp;&nbsp;unk : =&nbsp;&nbsp; nil ;
&nbsp;&nbsp;OleCheck( FRuntimeInfo.GetInterface (CLASS_CorRuntimeHost, IID_ICorRuntimeHost, unk));
&nbsp;&nbsp;FDefaultInterface : =&nbsp;&nbsp;unk as ICorRuntimeHost;
&nbsp;&nbsp;FDefaultInterface.Start;
&nbsp;&nbsp;iDomain : =&nbsp;&nbsp;iHost.DefaultAppDomain;
&nbsp;&nbsp;RawAssembly : =&nbsp;&nbsp;LoadAssemble( 'TestCrl.dll' ); //Загрузка сборки в VarArray
&nbsp;&nbsp; &#38; type : =&nbsp;&nbsp; iAssm.GetType_2 (typeName); //Получаем тип класса
&nbsp;&nbsp;ov : =&nbsp;&nbsp; &#38;&nbsp;&nbsp;type.InvokeMember_3 ( 'ctor' , BindingFlags_CreateInstance,&nbsp;&nbsp;nil , null,&nbsp;&nbsp;nil ); //Создаем класс
&nbsp;&nbsp; if&nbsp;&nbsp;VarSupports(ov, ITest, test)&nbsp;&nbsp;then&nbsp;&nbsp;//Получаем интерфейс
&nbsp;&nbsp;&nbsp;&nbsp; test.ShowMessage ( 'Hi World' );&nbsp;&nbsp;//Вызываем функцию интерфейса
&nbsp;&nbsp; ..&nbsp;&nbsp;.. 
&nbsp;&nbsp;//Обнуляем интерфейсы
&nbsp;&nbsp;</pre>
=============
 Более ничем помочь не могу.<br />=============<br />Дык я еще за прошлые примеры сказал спасибо. И за этот тоже. Я не выступаю, я думаю на будущее и как разраб, а не кодер )) Кодер он ведь задачу в лоб решает. Ему сказали - он и кодит. И не важно, что есть решение проще и быстрее (а может оно же и лучше). Он тупо решает че сказали. Я так не умею (уже, раньше делал). Я ищу правильное решение, с которым потом страдать не придется. На данный момент, как и писал ранее, кажется нашел. Будем тестить и смотреть. За примеры еще раз спасибо. <br />
			<i>17.12.2020 00:02:24, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51128/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51128/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 00:02:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51127/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KOB7sGC5" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex>, Вот режь меня, жги меня - НЕ ПОНИМАЮ, зачем здесь более быстрый язык! У меня и весь диалог, и вся индикация, и весь обмен с сервером написан на чистом Lua, и скрипт большую часть времени просто спит! Держит при этом несколько десятков тикеров (моделировал пару тысяч - разницы по скорости вообще не заметил). Свечи считаю сам (по десятку разных временных периодов), стоп-лоссы отслеживаю сам - НУ ЧТО тут может отжирать время, НУ ЧТО? О какой-никакой стабильности можно говорить как раз относительно Lua - дерьмо, конечно, но стабильное. А уж если тут определяют номера версий софта, настраиваются на них - какая тут может быть стабильность?<br />=============<br />Резать и жечь не буду, а вот пояснить смогу )) Код, типа такого
====code====
<pre>function summ()
&nbsp;&nbsp;&nbsp;for i = 1, 100000000 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r = i + i;
&nbsp;&nbsp;&nbsp;&nbsp;end
end</pre>
=============
Момент 1: на Lua будет выполняться порядка 1.3-1.4 сек, а в с++ примерно 0.2 сек. Я думаю, разница очевидна. Я лично проводил замеры, это не байка из тырнету. У меня до сих пор лежит этот код в примерах с замерами на lua и c++. Зачем такое в реальной жизни - хз, но по моему операция очень простая и мне неясно чего lua так долго с ней возится. Я даже сообщений никаких не вывожу, просто операция сложения. Но это далеко не все. Есть логика, которую банально удобнее и проще реализовывать на иных языках. Т.е., lua отдает данные во внешку, там происходит магия (быстрая и/или такая, на которую lua не способен) - в lua подается команда (не данные обратно, а именно команда) на сделку. Я же говорю: простой робот-торгаш - у меня таких полно и они именно на lua! Тут всего хватает, естественно. Но если мы говорим о более продвинутых вещах - ну можно извращаться на Lua, но зачем, если есть более заточенные для этого вещи.<br /><br />Момент2: с переходом на новую версию квик и lua, как следствие, перестали у меня работать некоторые скрипты. Че будет в будущем - хз, но чинить сидеть всю логику потом с убогой отладкой - то еще удовольствие. А так, меньше шенсов, что в очередное &quot;полезное&quot; обновление что-то отвалится. Ну или чинить меньше придется<br /><br />Момент 3: Собственно, отладка. Можно и логи писать, а потом их разбирать. Можно и мессаги выводить - не вопрос. Но проще же использовать удобный отладчик пошаговый )<br /><br />Момент 4: Интерфейс. В Lua чего у нас? Таблицы. Одно дело, если хочется, но другое, если надо. Надо сделать что-то более серьезное, чем примитивные ячейки и клик по ней для действия. Да и в целом, сидеть выписывать интерфейс, когда его можно мышью накидать за секунды - это как писать мобильное приложение на React Native (выверстывая каждый элемент и потом страдая на разных экранах) вместо того, чтобы писать сразу на Kotlin в удобной студии, где верстка макета займет в прямом смысле пару минут и будет работать сразу везде одинаково и хорошо. Это вряд ли для Вас аргумент, но для меня очень даже. <br />
			<i>17.12.2020 00:00:10, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51127/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51127/topic6030/</guid>
			<pubDate>Thu, 17 Dec 2020 00:00:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51125/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_iF6Wj8jo" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a>,<br />Вам дали путь решения вашей проблемы, а вы вместо задавания вопросов, начинаете выступать, так не буду, сяк не буду. У вас проблемы вы ее и решайте. Информации больше, чем достаточно. Вопрос заключается в том, чтобы вызвать из неуправляемой среды управляемый код? Луа и QLua тут не причем.<br />Примерный путь решения описан так.<br />
====code====
<pre>&nbsp;&nbsp;unk := nil;
&nbsp;&nbsp;OleCheck(CLRCreateInstance(CLSID_CLRMetaHost, IID_ICLRMetaHost, unk));
&nbsp;&nbsp;FMetaHost := unk as ICLRMetaHost;
&nbsp;&nbsp;unk := nil;
&nbsp;&nbsp;OleCheck(FMetaHost.GetRuntime(PWideChar(AClrVer), IID_ICLRRuntimeInfo, unk));
&nbsp;&nbsp;FRuntimeInfo := unk as ICLRRuntimeInfo;
&nbsp;&nbsp;FRunTimeInfo.SetDefaultStartupFlags(GetLoaderFlags(ConcurrentGC, LoaderFlags), nil); //Установим загрузочные флаги
&nbsp;&nbsp;OleCheck(FRuntimeInfo.IsLoadable(isLoaded)); //Проверяем на загружена ли сборка
&nbsp;&nbsp;if not isLoaded then
&nbsp;&nbsp;&nbsp;&nbsp;raise EOleError.CreateFmt(ECRLNotLoaded, &#91;AClrVer&#93;);
&nbsp;&nbsp;unk := nil;
&nbsp;&nbsp;OleCheck(FRuntimeInfo.GetInterface(CLASS_CorRuntimeHost, IID_ICorRuntimeHost, unk));
&nbsp;&nbsp;FDefaultInterface := unk as ICorRuntimeHost;
&nbsp;&nbsp;FDefaultInterface.Start;
&nbsp;&nbsp;iDomain := iHost.DefaultAppDomain;
&nbsp;&nbsp;RawAssembly := LoadAssemble('TestCrl.dll'); //Загрузка сборки в VarArray
&nbsp;&nbsp;&#38;type := iAssm.GetType_2(typeName); //Получаем тип класса
&nbsp;&nbsp;ov := &#38;type.InvokeMember_3('ctor', BindingFlags_CreateInstance, nil, null, nil); //Создаем класс
&nbsp;&nbsp;if VarSupports(ov, ITest, test) then //Получаем интерфейс
&nbsp;&nbsp;&nbsp;&nbsp;test.ShowMessage('Hi World');&nbsp;&nbsp;//Вызываем функцию интерфейса
&nbsp;&nbsp;....
&nbsp;&nbsp;//Обнуляем интерфейсы
</pre>
=============
Более ничем помочь не могу. <br />
			<i>16.12.2020 22:27:23, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51125/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51125/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 22:27:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51124/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_8E2PNOtA" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a>, Вот режь меня, жги меня - НЕ ПОНИМАЮ, зачем здесь более быстрый язык! У меня и весь диалог, и вся индикация, и весь обмен с сервером написан на чистом Lua, и скрипт большую часть времени просто спит! Держит при этом несколько десятков тикеров (моделировал пару тысяч - разницы по скорости вообще не заметил). Свечи считаю сам (по десятку разных временных периодов), стоп-лоссы отслеживаю сам - НУ ЧТО тут может отжирать время, НУ ЧТО? О какой-никакой стабильности можно говорить как раз относительно Lua - дерьмо, конечно, но стабильное. А уж если тут определяют номера версий софта, настраиваются на них - какая тут может быть стабильность? <br />
			<i>16.12.2020 22:18:05, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51124/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51124/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 22:18:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51123/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_kTnmgh96" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex>, Лапуль, я уже говорил, что с раннего детства терпеть не могу распальцованных дураков. Гнутых пальцев я тут уже видел выше крыши, а программистов - полтора человека, и уж Вы никоим образом к ним не относитесь. Так что НЕ ВАМ что-то тут вякать про &quot;пора менять работу&quot;. &nbsp; И говорил уже тыщу раз: задачи организации торговли настолько элементарны, что решаются ЛЮБЫМ способом. В частности, на чистом Lua, без всего этого маразма с обилием языков, библиотек, версий и прочей лабуды.<br />=============<br />Пока была возможность - решал на Lua. Теперь задачи поменялись немного и понадобился более стабильный, быстрый и подходящий язык. Либо C++ либо C#. Т.е. в любом случае это пока скорее эксперимент и я перебираю всевозможные варианты <br />
			<i>16.12.2020 21:59:52, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51123/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51123/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 21:59:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51122/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_iAh8wXJl" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> написал:<br />Смотрел, не понял, как это сделать и куда всунуть чего в моей либе сишной. Да и есть ли смысл, уже не знаю даже. Лучше, наверное, все-таки делить ответственность: логика на C++, интерфейс на C#. За примеры спасибо, изучу, вероятно применю что-то в будущем.<br />=============<br /> Если вы у вас опыт работы 10+ лет и вы не можете связать 3 интерфейса, чтобы запустить сборку и вас забанили в гугле.<br />То вам пора менять работу.<br />=============<br />По какому принципу сделан такой вывод? Как знание конкретной технологии или конкретного языка связано с опытом в области разработки?! Я не хочу развозить срач, как у вас тут с другим оратором вышло, но перед тем как давать такие громкие (кому-то, может даже, обидные) советы - надо хотя бы подумать )) Я нигде не писал, что 10 лет разработку веду на сях или на шарпее или упаси Бог на лунтике. Опыт по бОльшей части у меня в веб - от php до JS (React JS / Native). На шарпее лет 8 прикладного опыта по windows forms. Крестить никогда мне ничего не приходилось и не нужно было, если что. Так что Ваш совет это как сказать электрику по ремонту станков и оборудования типа &quot;че, не можешь в автоэлектрике разобраться или автозвук подключить?! Тогда меняй работу&quot;. Ну или предъявить инженеру с автоваза, что он не может самолет спроектировать. Оно же ведь одно и тоже, сиди да черти себе ))) А гугл Ваш, кстати, не поможет, если там с подобной проблемой еще никого не было. Как правило, люди крестят Lua и C++, но не QLua. И как я понял исходя даже из этого форума - это немного разные вещи. <br />
			<i>16.12.2020 21:56:54, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51122/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51122/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 21:56:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51121/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Dwg7Wqo0" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex>, Лапуль, я уже говорил, что с раннего детства терпеть не могу распальцованных дураков. Гнутых пальцев я тут уже видел выше крыши, а программистов - полтора человека, и уж Вы никоим образом к ним не относитесь. Так что НЕ ВАМ что-то тут вякать про &quot;пора менять работу&quot;. &nbsp; И говорил уже тыщу раз: задачи организации торговли настолько элементарны, что решаются ЛЮБЫМ способом. В частности, на чистом Lua, без всего этого маразма с обилием языков, библиотек, версий и прочей лабуды.<br />=============<br />Прими таблетки, а то только можешь ногами стучать, да желчь испускать. <br />
			<i>16.12.2020 21:56:51, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51121/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51121/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 21:56:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51119/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_XNblQJQK" href="/user/674/" bx-tooltip-user-id="674">Александр</a>, Лапуль, я уже говорил, что с раннего детства терпеть не могу распальцованных дураков. Гнутых пальцев я тут уже видел выше крыши, а программистов - полтора человека, и уж Вы никоим образом к ним не относитесь. Так что НЕ ВАМ что-то тут вякать про &quot;пора менять работу&quot;. &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_wink.png" border="0" data-code=":wink:" data-definition="SD" alt=":wink:" style="width:16px;height:16px;" title="Шутливо" class="bx-smile" /> И говорил уже тыщу раз: задачи организации торговли настолько элементарны, что решаются ЛЮБЫМ способом. В частности, на чистом Lua, без всего этого маразма с обилием языков, библиотек, версий и прочей лабуды. <br />
			<i>16.12.2020 20:05:33, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51119/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51119/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 20:05:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51112/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zt7NL2Sx" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />У меня опыт работы 30+ лет, и я не могу &quot;связать 3 интерфейса, чтобы запустить сборку&quot;. Более того, считаю это клиническим маразмом, так что сделал логику на Lua, интерфейс на Lua и всё остальное тоже на Lua. &nbsp; &nbsp;<br />=============<br />Тебе мамка сиську в детстве не давала? И теперь ты лезешь во все темы &nbsp;со своим мнением. Может другим способом задача автора не &nbsp;решается. <br />
			<i>16.12.2020 19:03:11, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51112/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51112/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 19:03:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51111/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_XL6BsiAc" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/82/" target="_blank" rel="nofollow">swerg</a></noindex> &nbsp;написал:<br />Фига себе!<br /> Александр , спасибо вам большое!!<br />=============<br /> &nbsp;Сложно это все, проще через CLRCreateInstance, ICLRMetaHost, ICLRRuntimeInfo, ICorRuntimeHost<br />=============<br /> Смотрел, не понял, как это сделать и куда всунуть чего в моей либе сишной. Да и есть ли смысл, уже не знаю даже. Лучше, наверное, все-таки делить ответственность: логика на C++, интерфейс на C#. За примеры спасибо, изучу, вероятно применю что-то в будущем.<br />=============<br />Сейчас сделал загрузку сборки из квика на lua api данным способом. Все хорошо работает. Проверенно. <br />
			<i>16.12.2020 19:00:09, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51111/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51111/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 19:00:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51098/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_skR3BG6L" href="/user/674/" bx-tooltip-user-id="674">Александр</a>, Я всегда спокоен, лапуль. И глюки все давно исправил. Вернее, один остался- не знаю, как именно исправлять - может, и не буду, заглушка на этот глюк (не мой, Квика - я о нём писал) и сейчас работает нормально. &nbsp; <br />
			<i>16.12.2020 12:35:53, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51098/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51098/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 12:35:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51097/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_swkicEyk" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex>, &nbsp;Тут всем пора менять работу - программисты вымерли. Логика на C++, интерфейс на C#, форум по Lua...<br /><br />У меня опыт работы 30+ лет, и я не могу &quot;связать 3 интерфейса, чтобы запустить сборку&quot;. Более того, считаю это клиническим маразмом, так что сделал логику на Lua, интерфейс на Lua и всё остальное тоже на Lua. :: &nbsp;<br />=============<br />Опять глюки начались, прими уже таблетки и успокойся. <br />
			<i>16.12.2020 12:14:08, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51097/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51097/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 12:14:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51093/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_NZXllZX6" href="/user/674/" bx-tooltip-user-id="674">Александр</a>, &nbsp;Тут всем пора менять работу - программисты вымерли. Логика на C++, интерфейс на C#, форум по Lua...<br /><br />У меня опыт работы 30+ лет, и я не могу &quot;связать 3 интерфейса, чтобы запустить сборку&quot;. Более того, считаю это клиническим маразмом, так что сделал логику на Lua, интерфейс на Lua и всё остальное тоже на Lua. &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> &nbsp; <br />
			<i>16.12.2020 10:16:35, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51093/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51093/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 10:16:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51088/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_9Vy5YJF5" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br />Там есть опечатки и битые ссылки, в той статье. Она Ваша?<br />=============<br />Статья не моя, но я вдохновлялся подобной статьей. <br />
			<i>16.12.2020 09:43:03, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51088/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51088/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 09:43:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51087/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_XQRR6aMv" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a> написал:<br />Смотрел, не понял, как это сделать и куда всунуть чего в моей либе сишной. Да и есть ли смысл, уже не знаю даже. Лучше, наверное, все-таки делить ответственность: логика на C++, интерфейс на C#. За примеры спасибо, изучу, вероятно применю что-то в будущем.<br />=============<br />Если вы у вас опыт работы 10+ лет и вы не можете связать 3 интерфейса, чтобы запустить сборку и вас забанили в гугле.<br />То вам пора менять работу. <br />
			<i>16.12.2020 09:42:34, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51087/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51087/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 09:42:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51076/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Zx8U8szr" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br />Тут читать &nbsp; <noindex><a href="https://miac.volmed.org.ru/wiki/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D" target="_blank" rel="nofollow">https://miac.volmed.org.ru/wiki/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D<WBR/>&shy;</a></noindex> ­0%... &nbsp;<br />ExportDLL брать тут &nbsp;<noindex><a href="https://yadi.sk/d/qAlXi-OnjniSt" target="_blank" rel="nofollow">https://yadi.sk/d/qAlXi-OnjniSt</a></noindex> <br />=============<br />Там есть опечатки и битые ссылки, в той статье. Она Ваша? <br />
			<i>16.12.2020 05:04:13, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51076/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51076/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 05:04:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51075/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_BsJogIYK" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br />ир<br />=============<br />Там есть опечатки и битые ссылки, в той статье. Она Ваша? <br />
			<i>16.12.2020 05:03:33, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51075/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51075/topic6030/</guid>
			<pubDate>Wed, 16 Dec 2020 05:03:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51068/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_QDavHYZY" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/82/" target="_blank" rel="nofollow">swerg</a></noindex> написал:<br />Фига себе!<br /> Александр , спасибо вам большое!!<br />=============<br /> Сложно это все, проще через CLRCreateInstance, ICLRMetaHost, ICLRRuntimeInfo, ICorRuntimeHost<br />=============<br />Смотрел, не понял, как это сделать и куда всунуть чего в моей либе сишной. Да и есть ли смысл, уже не знаю даже. Лучше, наверное, все-таки делить ответственность: логика на C++, интерфейс на C#. За примеры спасибо, изучу, вероятно применю что-то в будущем. <br />
			<i>15.12.2020 22:10:50, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51068/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51068/topic6030/</guid>
			<pubDate>Tue, 15 Dec 2020 22:10:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51067/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7dH7SC8L" href="/user/674/" bx-tooltip-user-id="674">Александр</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex> &nbsp;написал:<br /> &nbsp; <br />====quote====<br /> &nbsp;<noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> &nbsp; написал:<br /> &nbsp; &nbsp;<br />====quote====<br /> &nbsp; <noindex><a href="/user/674/" target="_blank" rel="nofollow">Александр</a></noindex> &nbsp; &nbsp;написал:<br /> &nbsp; &nbsp; <br />====quote====<br /> &nbsp; &nbsp;<noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> &nbsp; &nbsp; написал:<br /> &nbsp; &nbsp; &nbsp;<br />====quote====<br /> &nbsp; &nbsp; <noindex><a href="/user/82/" target="_blank" rel="nofollow">swerg</a></noindex> &nbsp; &nbsp; &nbsp;написал:<br /> &nbsp; &nbsp; &nbsp; <br />====quote====<br /> &nbsp; &nbsp; &nbsp;<noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> &nbsp; &nbsp; &nbsp; написал:<br />И что не так? В этой либе мне нужно использовать CLR, там будут формы. Как сам факт поддержки CLR (без каких-либо вызовов) влияет на выгрузку библиотеки?<br />=============<br /> &nbsp; &nbsp; &nbsp; <br />Как минимум - вот оно коренное отличие вашей DLL от моей, а вовсе не версия QUIK.<br />Ну и видимо передавайте привет .NET и особенностям ее работы.<br /><br /> &nbsp; &nbsp; &nbsp; <br />====quote====<br /> &nbsp; &nbsp; &nbsp;<noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> &nbsp; &nbsp; &nbsp; написал:<br />(без каких-либо вызовов) влияет на выгрузку библиотеки?<br />=============<br /> &nbsp; &nbsp; &nbsp; <br />Вы может и не вызываете, но раз хотите .NET - оно там очень могуче напрягается, чтобы вам его предоставить.<br />Вам наверное будет не сложно пока отключить использование .NET и проверить.<br />=============<br /> &nbsp; &nbsp; &nbsp;Пока не сложно. Проверил. Без NET выгружается. Другой вопрос: как обеспечить выгрузку с NET, не знаете? Полагаю, спрашивать разрабов квика бесполезно про это...<br />=============<br /> &nbsp; &nbsp; Способов подключения сборок на си++ как минимум 2: 1. это использовать управляемый код. 2. Использовать интерфейсы и самостоятельно загружать сборки.<br />Тот и другой способ гуглится. <br />Но возможно стоит начать вот CoInitializeEx и CoUninitialize.<br />Но я бы советовал сделать отдельное приложение на .net и передавать туда данные, например по сети.<br />=============<br /> &nbsp; &nbsp;Не, приложение с передачей данных это такое себе. Это как C# приложение с коннектором C++ - древняя тема и такая же нестабильная. Я пробовал ее году в 2015 еще, че-то не зашло. Я тогда ушел на LUA чистый и его хватало. Сейчас появилась потребность в более нормальном языке, чем LUA и я нашел вариант с подключением библиотеки. Я продолжил бы писать на C# (его знаю, а С++ нет), но проблема в том, что на шарпе нет нормального способа сделать либу. Есть какой-то полукостыльный и он мне не понравился и результат сомнительный. Интерфейсы на чистом Win API тоже не осилил как-то. Вот прикрутил CLR, но оно вон че оказалось. Буду еще смотреть, что дальше делать, но куча посредников между биржей и моим алгоритмом - это печаль и зло. Хочу поменьше, чтоб стабильнее и быстрее было.<br />=============<br /> &nbsp; Сделай секцию экспорта в C# библиотеке: сначала дезасемблировать, потом прописывать флаги и секции. Я специально программу написал, которая такое делает.<br />И можно использовать LoadLibrary на стороне луа и все другие вкусняшки.<br />=============<br /> &nbsp;Вообще не понял. Как я читал, у C# проблема с экспортом функций и чтобы они были доступны - нужно ставить какую-то приблуду, которая работает только в английской локали. Ты про это или про что-то другое говоришь?<br />=============<br /> В С# проблема с экспортом функций в том, что MS не хочет ее реализовывать. Практических проблем нет.<br />Ставить приблуду не обязательно. Надо:<br />1. ildasm.exe декомпилировать код.<br />2. В тексте кода найти все нужные функции и вставить .export&#91;{номер функции}&#93;. Можно использовать ObfuscationAttribute для определения нужных функций.<br />3. ilasm.exe скопилировать код в бинарник. <br />В 64 битном режиме поправить установить флаг .corflags 0x00000002<br />Утилиту которая такое делает можно написать за один вечер.<br />Читай книгу Serge Lidin &quot;.Net IL Assembler&quot;<br />=============<br />Спасибо, но на самом деле так можно и закопаться очень глубоко и забыть вообще что ты и зачем хотел сделать изначально )) Я действующий разраб по основной профессии, опыта уже 10+ лет. И вот именно этот опыт подсказывает мне идти по пути наименьшего сопротивления. Ибо если ты не можешь сделать сегодня то, что будет работать хоть как-нибудь - завтра это сделает другой. А ты так и будешь дальше сидеть и пилить идеальный код и решение , которое к моменту появления уже нафиг некому не нужно. Я занимался подобными вещами, как Вы описываете, когда пытался защитить от взлома программу на C#. И, скажу, довольно удачно. Метод был простой, как помидор: обфускация, упаковка и подмена парочки байт, чтобы обратно никто не распаковал. Все, не надо платить 100500 мильенов за дорогие защиты от вскрытия. Информацию сохраню, займусь как-нибудь потом. А пока время реализовывать идею. Вроде как, нашел рещение и оно даже мне подходит (не такое плохое). <br />
			<i>15.12.2020 22:08:34, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51067/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51067/topic6030/</guid>
			<pubDate>Tue, 15 Dec 2020 22:08:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51056/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Кстати реализация ExportDLL моя собственная. <br />
			<i>15.12.2020 14:18:05, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51056/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51056/topic6030/</guid>
			<pubDate>Tue, 15 Dec 2020 14:18:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51054/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DQZni1oo" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Фига себе!<br /> Александр , спасибо вам большое!!<br />=============<br />Сложно это все, проще через CLRCreateInstance, ICLRMetaHost, ICLRRuntimeInfo, ICorRuntimeHost <br />
			<i>15.12.2020 14:17:30, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51054/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51054/topic6030/</guid>
			<pubDate>Tue, 15 Dec 2020 14:17:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51051/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Фига себе!<br /><B>Александр</B>, спасибо вам большое!! <br />
			<i>15.12.2020 13:40:18, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51051/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51051/topic6030/</guid>
			<pubDate>Tue, 15 Dec 2020 13:40:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Некорректная выгрузка DLL при завершении скрипта</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51049/topic6030/">Некорректная выгрузка DLL при завершении скрипта</a></b> <i>Некорректная выгрузка DLL при завершении скрипта</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Тут читать <noindex><a href="https://miac.volmed.org.ru/wiki/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D1%85_dll" target="_blank" rel="nofollow">https://miac.volmed.org.ru/wiki/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D<WBR/>&shy;0%...</a></noindex><br />ExportDLL брать тут <noindex><a href="https://yadi.sk/d/qAlXi-OnjniSt" target="_blank" rel="nofollow">https://yadi.sk/d/qAlXi-OnjniSt</a></noindex> <br />
			<i>15.12.2020 13:11:29, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51049/topic6030/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51049/topic6030/</guid>
			<pubDate>Tue, 15 Dec 2020 13:11:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
