<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; хуки на функции lua]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=302&amp;type=atom" />
	<updated>2019-11-07T13:22:17Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=302</id>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2497#p2497" />
			<content type="html"><![CDATA[<p>я был не прав, видимо, где-то в коде своем налажал, ну не важно, моего основного вывода это не отменяет, хуки на callback-функции квика со стороны dll не нужны.</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-07T13:22:17Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2497#p2497</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2488#p2488" />
			<content type="html"><![CDATA[<p>ocAc = 0<br />ocBc = 0<br />opAc = 0<br />opBc = 0</p><p>function ocA()<br />&nbsp; &nbsp; ocAc = ocAc + 1<br />&nbsp; &nbsp; OnConnected = ocB<br />end<br />function ocB()<br />&nbsp; &nbsp; ocBc = ocBc + 1<br />&nbsp; &nbsp; OnConnected = ocA<br />end</p><p>function opA(a, b)<br />&nbsp; &nbsp; opAc = opAc + 1<br />&nbsp; &nbsp; OnParam = opB<br />end<br />function opB(a, b)<br />&nbsp; &nbsp; opBc = opBc + 1<br />&nbsp; &nbsp; OnParam = opA<br />end</p><p>OnConnected = ocA<br />OnParam = opA</p><p>exitflag = false</p><p>function main()<br />&nbsp; &nbsp; while not exitflag do<br />&nbsp; &nbsp; &nbsp; sleep(100)<br />&nbsp; &nbsp; end<br />&nbsp; &nbsp; message(&#039;OnConnectA: &#039;..tostring(acAc)..&#039; OnConnectB: &#039;..tostring(acBc), 1)<br />&nbsp; &nbsp; message(&#039;OnParamA: &#039;..tostring(opAc)..&#039; OnParamB: &#039;..tostring(opBc), 1)<br />end</p><p>function OnStop()<br />&nbsp; &nbsp; exitflag = true<br />end</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-07T06:17:41Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2488#p2488</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2487#p2487" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>дело еще в том, что квик, похоже, индексы некоторых функций запоминает после загрузки скрипта. то есть, переопределить OnParam какой-нибудь в процессе работы не получится</p></blockquote></div><p>Это да, это понятно как. и там суть не в &quot;индексах&quot;, а в том, что после &quot;исполнения&quot; тела всего скрипта (когда выполняется часть кода вне функций) дополнительно в глобальной области Lua размещает определяемые в скрипте функции, а QLua находит среди них известные ей и проставляет для себя признак: &quot;о, такой обработчик есть, его будем вызывать, а такого нет - его вызывать не будем&quot;. Даже если какой-то обработчик появится позже.</p><div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>(а OnConnected, например, - сколько угодно)</p></blockquote></div><p>А вот это я не понял. Можно тут поподробнее с примером - о чем речь?</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2019-11-07T04:17:48Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2487#p2487</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2482#p2482" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>kalikazandr, вы что ли стоп-заявки хотите на графике мышкой перетаскивать? вообще ваш вопрос не очень подходит именно к этой обсуждаемой тут теме. типа надо &quot;OnLabelDragStart&quot; и &quot;OnLabelDragDrop&quot;? в загашнике такого у меня нет, но можно подумать как сделать. Создайте тему - обсудим.</p></blockquote></div><p>Нет, не к стопам, в моих ботах нет стопов. Но использовать можно, да. Ну и &quot;OnLabelDragStart&quot; и &quot;OnLabelDragDrop&quot; по сути не нужны, это не долго и так на луа сваять.<br />Создал топик [url]https://quik2dde.ru/viewtopic.php?pid=2481#p2481[/url]</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2019-11-06T15:38:37Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2482#p2482</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2480#p2480" />
			<content type="html"><![CDATA[<p>kalikazandr, вы что ли стоп-заявки хотите на графике мышкой перетаскивать? вообще ваш вопрос не очень подходит именно к этой обсуждаемой тут теме. типа надо &quot;OnLabelDragStart&quot; и &quot;OnLabelDragDrop&quot;? в загашнике такого у меня нет, но можно подумать как сделать. Создайте тему - обсудим.</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-06T14:57:20Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2480#p2480</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2479#p2479" />
			<content type="html"><![CDATA[<p>Уважаемый toxa, приветствую!<br />Подскажите, в ваших загашниках не завалялся хук на событие мыши?<br />В арке просил сделать OnMause() и как бы, им то и не сложно транслировать из своего обработчика события мне в скрипт. Но че-то тишина, может не умеют?<br />Конкретно интересует понимание, что нажата левая кнопка мыши.<br />Хочу использовать для меток, когда их смещаешь на графике, то координаты метки меняются в процессе этого движения, что не очень хорошо, т.к. интересна конечная точка движения метки. Заранее благодарен.</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2019-11-06T14:05:08Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2479#p2479</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2478#p2478" />
			<content type="html"><![CDATA[<p>дело еще в том, что квик, похоже, индексы некоторых функций запоминает после загрузки скрипта. то есть, переопределить OnParam какой-нибудь в процессе работы не получится (а OnConnected, например, - сколько угодно). еще есть вариант - через отладчик, но стоит ли эффект затраченных сил?</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-06T11:45:30Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2478#p2478</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2477#p2477" />
			<content type="html"><![CDATA[<p>я сделал это проксирование, как хотел изначально, но понял, что занимаюсь фигней, и правильный вариант такой:<br /></p><div class="codebox"><pre><code>my = require &quot;my_lib&quot;

OnConnected = my.OnConnected
OnDisconnected = my.OnDisconnected

exitflag = false

function main()
    while not exitflag do
      sleep(100)
    end
end

function OnStop()
    message(&quot;OnStop()&quot;, 1)
    my.OnStop()
    exitflag = true
end</code></pre></div>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-06T11:38:43Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2477#p2477</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2476#p2476" />
			<content type="html"><![CDATA[<p>Идея примерно понятна, но быть может вы могли бы привести кусочек рабочего кода из Dll для описанного вами случая?<br />Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2019-11-06T11:12:19Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2476#p2476</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2475#p2475" />
			<content type="html"><![CDATA[<p>сам нашел, все предельно просто: [url]https://stackoverflow.com/questions/56230959/how-to-assign-global-lua-function-variables-in-lua-c-api[/url]</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-05T12:38:45Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2475#p2475</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[хуки на функции lua]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2469#p2469" />
			<content type="html"><![CDATA[<p>вот у меня &quot;со звёздочкой&quot; вопрос. есть lua-скрипт, в котором кто-то объявил колбэк, например, onStop. и, предположим, у меня есть dll, которая тоже хочет получать эту нотификацию onStop. но, если я определю ее в dll, то одна из этих функций не будет вызываться. я хочу проксировать этот вызов в lua-скрипт таким образом, чтобы работали оба вызова (в тексте и в библиотеке) и в тексте не нужно было ничего дополнительно писать. чтобы все это работало прозрачно, без дополнительных костылей в тексте lua-скрипта. спасибо.</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2019-11-01T13:52:19Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2469#p2469</id>
		</entry>
</feed>
