<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[LUA und MFC: lua_register]]></title><description><![CDATA[<p>Hallo!</p>
<p>folgender Code:</p>
<pre><code class="language-cpp">void CPHLView::OnExec() 
{
	lua_State* luaVM = lua_open();

	lua_baselibopen(luaVM);
	lua_iolibopen(luaVM);
	lua_strlibopen(luaVM);
	lua_mathlibopen(luaVM);

	lua_register(luaVM, &quot;Relais_On&quot;, l_Ron);

	lua_dofile(luaVM, &quot;test.txt&quot;);

	lua_close(luaVM);
}
</code></pre>
<p>die Funktion: l_Ron</p>
<pre><code class="language-cpp">int CPHLView::l_Ron(lua_State *luaVM)
{
	CRelaisCtrl *rl = new CRelaisCtrl;
	int card;
	double r = lua_tonumber(luaVM, 1);

	if(r &lt; 9)
		card = 1;
	else if(r &gt; 9)
		card = 2;

	rl-&gt;on((int)r ,card);

	lua_pushnumber(luaVM, 0);
	delete rl;
	return 1;
}
</code></pre>
<p>beide Funktionen gehören zu der Klasse CPLHView. Das ist die Ansichtsklasse meiner SDI MFC Anwendung.<br />
Beim Compilieren erhalten ich folgenden Fehler:</p>
<blockquote>
<p>PHLView.cpp(558) : error C2664: 'lua_pushcclosure' : Konvertierung des Parameters 2 von 'int (struct lua_State *)' in 'int (__cdecl *)(struct lua_State *)' nicht moeglich<br />
Keine Funktion mit diesem Namen im Gueltigkeitsbereich stimmt mit dem Zieltyp ueberein</p>
</blockquote>
<p>Kann mir jemand erklären wo der Fehler ist? Ich habe schon viel rumprobiert, aber ich bekomme es einfach nicht hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/75330/lua-und-mfc-lua_register</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 11:45:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/75330.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 May 2004 11:42:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to LUA und MFC: lua_register on Sun, 30 May 2004 11:42:52 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>folgender Code:</p>
<pre><code class="language-cpp">void CPHLView::OnExec() 
{
	lua_State* luaVM = lua_open();

	lua_baselibopen(luaVM);
	lua_iolibopen(luaVM);
	lua_strlibopen(luaVM);
	lua_mathlibopen(luaVM);

	lua_register(luaVM, &quot;Relais_On&quot;, l_Ron);

	lua_dofile(luaVM, &quot;test.txt&quot;);

	lua_close(luaVM);
}
</code></pre>
<p>die Funktion: l_Ron</p>
<pre><code class="language-cpp">int CPHLView::l_Ron(lua_State *luaVM)
{
	CRelaisCtrl *rl = new CRelaisCtrl;
	int card;
	double r = lua_tonumber(luaVM, 1);

	if(r &lt; 9)
		card = 1;
	else if(r &gt; 9)
		card = 2;

	rl-&gt;on((int)r ,card);

	lua_pushnumber(luaVM, 0);
	delete rl;
	return 1;
}
</code></pre>
<p>beide Funktionen gehören zu der Klasse CPLHView. Das ist die Ansichtsklasse meiner SDI MFC Anwendung.<br />
Beim Compilieren erhalten ich folgenden Fehler:</p>
<blockquote>
<p>PHLView.cpp(558) : error C2664: 'lua_pushcclosure' : Konvertierung des Parameters 2 von 'int (struct lua_State *)' in 'int (__cdecl *)(struct lua_State *)' nicht moeglich<br />
Keine Funktion mit diesem Namen im Gueltigkeitsbereich stimmt mit dem Zieltyp ueberein</p>
</blockquote>
<p>Kann mir jemand erklären wo der Fehler ist? Ich habe schon viel rumprobiert, aber ich bekomme es einfach nicht hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/529724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/529724</guid><dc:creator><![CDATA[Lecter]]></dc:creator><pubDate>Sun, 30 May 2004 11:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to LUA und MFC: lua_register on Sun, 30 May 2004 15:38:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>du solltest schon die richtige Stelle des Quell-Textes hier angeben, dann sind die Chancen größer, daß geholfen werden kann, denn im gezeigten Code gibt es keinen Bezeichner, der 'lua_pushcclosure' heißt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/529873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/529873</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Sun, 30 May 2004 15:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to LUA und MFC: lua_register on Sun, 30 May 2004 15:43:27 GMT]]></title><description><![CDATA[<p>die funktion kommt aus der LUA-API<br />
hier ist der code</p>
<pre><code class="language-cpp">#define lua_register(L,n,f) \
	(lua_pushstring(L, n), \
	 lua_pushcfunction(L, f), \
	 lua_settable(L, LUA_GLOBALSINDEX))

#define lua_pushcfunction(L,f)	lua_pushcclosure(L, f, 0)
[...]
LUA_API void  lua_pushcclosure (lua_State *L, lua_CFunction fn, int n);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/529876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/529876</guid><dc:creator><![CDATA[Lecter]]></dc:creator><pubDate>Sun, 30 May 2004 15:43:27 GMT</pubDate></item><item><title><![CDATA[Reply to LUA und MFC: lua_register on Sun, 30 May 2004 21:34:42 GMT]]></title><description><![CDATA[<p>du mußt die Methode l_Ron static machen oder es darf keine Member-Funktion einer Klasse sein (d.h., es muß eine globale Funktion sein)</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/530023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/530023</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Sun, 30 May 2004 21:34:42 GMT</pubDate></item><item><title><![CDATA[Reply to LUA und MFC: lua_register on Mon, 31 May 2004 07:15:48 GMT]]></title><description><![CDATA[<p>OK<br />
dann muss ich mir da wohl was überlegen. Eine der Funktionen muss nähmlich auf Membervariablen zugreifen....</p>
<p>aber trozdem danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Lecter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/530073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/530073</guid><dc:creator><![CDATA[Lecter]]></dc:creator><pubDate>Mon, 31 May 2004 07:15:48 GMT</pubDate></item></channel></rss>