<?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] Problem]]></title><description><![CDATA[<p>Hi!</p>
<p>Folgendes Problem:<br />
Ich habe eine Klasse erstellt und dort eine Funktion geschrieben, die ich gerne von Lua aus aufrufen möchte. Doch leider gelingt mir das nur bei globalen Funktionen ohne Fehlermeldung.</p>
<p>UMLuaManager.h:</p>
<pre><code>public:
	lua_State* mLuaInstance;
</code></pre>
<pre><code>UMLuaManager::UMLuaManager(void)
{
	mLuaInstance = NULL;
	mLuaInstance = lua_open();
	luaopen_base (mLuaInstance);

	lua_pushcfunction(mLuaInstance, UMLuaManager::Testlua); // HIER
	lua_setglobal(mLuaInstance, &quot;LuaTest&quot;);
};
int UMLuaManager::Testlua(lua_State* L)
{
	std::cout &lt;&lt; &quot;Testfunktion in UMLuaManager&quot; &lt;&lt; std::endl;
	return 0;
};
</code></pre>
<p>Der Compiler spuckt in Zeile 7 mit lua_pushcfunction folgenden Fehler aus:</p>
<pre><code>&quot;UMLuaManager::Testlua&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;UMLuaManager::Testlua&quot;, um einen Zeiger auf den Member zu erstellen.
</code></pre>
<p>Ich habe heute schon den ganzen Tag versucht, ihm diesen Fehler auszutreiben, bin aber zu keinem Ergebnis gekommen. Den Tipp, den mir der Compiler gibt, konnte ich auch nicht wirklich gebrauchen. Entweder habe ich das falsch verwendet, oder es ist einfach prinzipiell falsch.</p>
<p>Als ich das ganze noch mit globalen Funktionen getestet hatte, konnte ich einfach</p>
<pre><code>lua_pushcfunction(mLuaInstance, Testlua);
</code></pre>
<p>schreiben, ohne das ein Fehler kam. Ich benutze Lua 5.0.</p>
<p>Schonmal Danke im Voraus <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/186515/lua-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 21:05:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/186515.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Jul 2007 18:29:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Lua] Problem on Mon, 09 Jul 2007 18:29:29 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Folgendes Problem:<br />
Ich habe eine Klasse erstellt und dort eine Funktion geschrieben, die ich gerne von Lua aus aufrufen möchte. Doch leider gelingt mir das nur bei globalen Funktionen ohne Fehlermeldung.</p>
<p>UMLuaManager.h:</p>
<pre><code>public:
	lua_State* mLuaInstance;
</code></pre>
<pre><code>UMLuaManager::UMLuaManager(void)
{
	mLuaInstance = NULL;
	mLuaInstance = lua_open();
	luaopen_base (mLuaInstance);

	lua_pushcfunction(mLuaInstance, UMLuaManager::Testlua); // HIER
	lua_setglobal(mLuaInstance, &quot;LuaTest&quot;);
};
int UMLuaManager::Testlua(lua_State* L)
{
	std::cout &lt;&lt; &quot;Testfunktion in UMLuaManager&quot; &lt;&lt; std::endl;
	return 0;
};
</code></pre>
<p>Der Compiler spuckt in Zeile 7 mit lua_pushcfunction folgenden Fehler aus:</p>
<pre><code>&quot;UMLuaManager::Testlua&quot;: Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie &quot;&amp;UMLuaManager::Testlua&quot;, um einen Zeiger auf den Member zu erstellen.
</code></pre>
<p>Ich habe heute schon den ganzen Tag versucht, ihm diesen Fehler auszutreiben, bin aber zu keinem Ergebnis gekommen. Den Tipp, den mir der Compiler gibt, konnte ich auch nicht wirklich gebrauchen. Entweder habe ich das falsch verwendet, oder es ist einfach prinzipiell falsch.</p>
<p>Als ich das ganze noch mit globalen Funktionen getestet hatte, konnte ich einfach</p>
<pre><code>lua_pushcfunction(mLuaInstance, Testlua);
</code></pre>
<p>schreiben, ohne das ein Fehler kam. Ich benutze Lua 5.0.</p>
<p>Schonmal Danke im Voraus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1321776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321776</guid><dc:creator><![CDATA[BlackTea]]></dc:creator><pubDate>Mon, 09 Jul 2007 18:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Mon, 09 Jul 2007 18:44:09 GMT]]></title><description><![CDATA[<p>Versuch mal</p>
<pre><code class="language-cpp">static int UMLuaManager::Testlua(lua_State* L)
{
    std::cout &lt;&lt; &quot;Testfunktion in UMLuaManager&quot; &lt;&lt; std::endl;
    return 0;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1321781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321781</guid><dc:creator><![CDATA[dadjkas]]></dc:creator><pubDate>Mon, 09 Jul 2007 18:44:09 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Mon, 09 Jul 2007 19:05:55 GMT]]></title><description><![CDATA[<p>Funktioniert, Danke <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>Nur der harken an der Sache ist, dass mir mein Compiler vorgibt, dass ich eine static int - funktion direkt in der Klasse (im Header) definieren muss. Kann man das irgendwie umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1321791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321791</guid><dc:creator><![CDATA[Black&#x27;Tea]]></dc:creator><pubDate>Mon, 09 Jul 2007 19:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Mon, 09 Jul 2007 19:04:53 GMT]]></title><description><![CDATA[<p>Header-File:</p>
<pre><code class="language-cpp">static int UMLuaManager::Testlua(lua_State* L);
</code></pre>
<p>Source-File:</p>
<pre><code class="language-cpp">int UMLuaManager::Testlua(lua_State* L)
{
    std::cout &lt;&lt; &quot;Testfunktion in UMLuaManager&quot; &lt;&lt; std::endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1321793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321793</guid><dc:creator><![CDATA[dadjkas]]></dc:creator><pubDate>Mon, 09 Jul 2007 19:04:53 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Mon, 09 Jul 2007 19:10:51 GMT]]></title><description><![CDATA[<p>Wenn ich das genau so mache, meckert der Compiler ja gerade rum, dass ist ja leider das Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Edit: Verlesen.^^, nochmals Vielen Dank <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1321794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1321794</guid><dc:creator><![CDATA[Black&#x27;Tea]]></dc:creator><pubDate>Mon, 09 Jul 2007 19:10:51 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Wed, 11 Jul 2007 13:30:59 GMT]]></title><description><![CDATA[<p>Ich habe mich erneut an einem Lua-Problem festgebissen.</p>
<p>Ich wollte eine Funktion aus Lua aufrufen, doch es scheitert vermutlich daran, dass ich Datein von meinem Programm zwar ausführen kann, aber er die Funktionen und alles andere sozusagen dabei nicht ...parst... bzw. abspeichert und lua dann durch diesen Befehl</p>
<pre><code>lua_getglobal(L, &quot;f&quot;);
</code></pre>
<p>nicht richtig auf die Funktion zugreifen kann.<br />
Ich habe mir dazu folgendes auf diesem link angeguckt:<br />
<a href="http://www.lua.org/pil/25.2.html" rel="nofollow">http://www.lua.org/pil/25.2.html</a><br />
Mit meinen eher mageren Englischkenntnissen entnehme ich aus diesem Satz</p>
<blockquote>
<p>A great strength of Lua is that a configuration file can define functions to be called by the application.</p>
</blockquote>
<p>, dass ich vllt. sowas wie eine Configurations-Datei brauche, die dann vllt meine Funktionen parst, bzw. abspeichert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1323115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323115</guid><dc:creator><![CDATA[Black&#x27;Tea]]></dc:creator><pubDate>Wed, 11 Jul 2007 13:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Wed, 11 Jul 2007 14:04:12 GMT]]></title><description><![CDATA[<p>Mit dieser &quot;Configuration-File&quot; ist einfach ein Lua-Sourcefile gemeint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1323163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323163</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Wed, 11 Jul 2007 14:04:12 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Wed, 11 Jul 2007 15:24:51 GMT]]></title><description><![CDATA[<p>Damit kann ich leider nicht viel anfangen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1323247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323247</guid><dc:creator><![CDATA[Black&#x27;Tea]]></dc:creator><pubDate>Wed, 11 Jul 2007 15:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Wed, 11 Jul 2007 15:30:21 GMT]]></title><description><![CDATA[<p>Also so schwer ist das nun nicht, oder?</p>
<p>Lua ist eine Scriptsprache. Richtig? Richtig! Und du kannst Lua in deine Programme einbinden. Richtig? Richtig! Und du kannst anstatt Configfiles jetzt in deinem Programm halt Scriptfiles benutzen. Richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1323255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1323255</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 11 Jul 2007 15:30:21 GMT</pubDate></item><item><title><![CDATA[Reply to [Lua] Problem on Thu, 19 Jul 2007 09:41:23 GMT]]></title><description><![CDATA[<p>Ich hab mir das ganze eigentlich anders gedacht. Ich dachte, man könne irgendwie von der Application Lua-Funktionen aufrufen, wenn man die Luascripte irgendwie parsen könnte. Naja, ich kann auch ohne parsen leben.</p>
<p>Seit 4 Tagen treibt mich etwas anderes auf die Palme. Ich habe keine Probleme damit in meiner Application Funktionen mit Lua-Parametern auszuwerten. Allerdings nur, wenn es sich um numbers, bools oder strings handelt. Mit den Tabellen (Arrays, Structuren) werde ich einfach nicht fertig. Ich habe schon verdammt lange versucht irgendwie mit lua_touserdata irgendwie den Parameter mit der Tabelle abzufangen und auszuwerten, aber das ist gescheitert und mittlerweile glaub ich auch nicht mehr, dass die Funktion dafür da ist.</p>
<p>Kurz gesagt: Ich bin total am verzweifeln, wie ich z.b. ein Array (oder eine Struktur) in Form einer Tabelle von Lua in meiner Application abfange und in Arrays oder ähnliches konvertiere</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327355</guid><dc:creator><![CDATA[Black&#x27;Tea]]></dc:creator><pubDate>Thu, 19 Jul 2007 09:41:23 GMT</pubDate></item></channel></rss>