<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Вызвать Lua функцию из С++ c передачей callback`а]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=407&amp;type=atom" />
	<updated>2022-10-07T10:49:14Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=407</id>
		<entry>
			<title type="html"><![CDATA[Re: Вызвать Lua функцию из С++ c передачей callback`а]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=3796#p3796" />
			<content type="html"><![CDATA[<p>[url]https://www.lua.org/pil/26.1.html[/url]</p><p>См. lua_pushcfunction()</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2022-10-07T10:49:14Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=3796#p3796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Вызвать Lua функцию из С++ c передачей callback`а]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=3795#p3795" />
			<content type="html"><![CDATA[<p>Подскажите пожалуйста, есть ли пример, как вызывать функцию к примеру SetUpdateCallback с передачей в нее параметров ?</p><p>Ну то есть, вот аналог код в Lua:</p><div class="codebox"><pre><code>local my_table_= CreateDataSource(code_class_, code_paper_, interval)

my_table_:SetUpdateCallback(function(idx)my_callback_(my_table_, code_class_, code_paper_, interval) end)</code></pre></div><br /><br /><div class="codebox"><pre><code>function my_callback_(my_table_, code_class, code_paper, interval)

...код

end</code></pre></div><p>Вот как его изобразить в C++ ?</p><div class="codebox"><pre><code>//В L - на вершине стека уже находится таблица возвращенная CreateDataSource.

lua_getfield(L, -1, &quot;SetUpdateCallback&quot;);          //&quot;Извлекаем&quot; на вершину стека из &quot;таблицы&quot; функцию SetUpdateCallback.

//Теперь нужно поместить в стек последовательно параметры функции SetUpdateCallback, но тут уже не могу понять:
//- как поместить function(idx)
//- как поместить my_callback_</code></pre></div><br /><p>Не могу понять, где должна быть объявлена моя функция callback ? В Lua скрипте и тогда мне ее нужно просто получить через Lua_global или же в C++ ?</p>]]></content>
			<author>
				<name><![CDATA[Serg_]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3371</uri>
			</author>
			<updated>2022-10-07T09:22:11Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=3795#p3795</id>
		</entry>
</feed>
