[Lua/C++] Anfängerproblem

badday

Commander
Registriert
Sep. 2007
Beiträge
3.023
Moin zusammen,

ich bin absolut neu in Lua und habe nun ein kleines Problem. Folgender Code (in C++):
Code:
x=ui->lineEdit->text().toInt();
    lua_State *L =  luaL_newstate();
    luaL_openlibs(L);
    luaL_loadfile(L, "./lua_test2.lua");
    lua_getglobal(L, "getsin");
    lua_pushnumber (L, x);
    if(lua_pcall (L, 1,1 ,0)!=0)
        std::cout<<"Error"<<std::endl;


    erg = lua_tostring (L, -1);
    ui->lineEdit_2->setText(erg);
    lua_close(L);

x ist ein int, es bekommt einen gültigen Wert.
lua_tostring der Einfachheit halber, tonumber funktioniert auch nicht.
"Error" wird ausgegeben (nur zur Veranschaulichung) , daher ist der Fehler bei oder vor lua_pcall.

Hier die Lua-Datei:

Code:
function getsin (x)
return math.sin(x)
end

Der Aufruf von lua_tostring(L, -1) resultiert in: "attempt to call a nil value", was wenig verwunderlich ist, wenn pcall scheitert.

Die Lösung ist vermutlich völlig simpel, aber ich komm gerade einfach nicht darauf :confused_alt::pcangry:

Ich hoffe ihr habt Verständnis^^

Gruß,

badday

PS: @Mods: Wir wär´s mit nem Lua Präfix?
 
Zuletzt bearbeitet:
Das Problem ist nun gelöst, ich musste lua_dofile() statt lua_loadfile() benutzen. Leider kam ich nicht selber drauf...

Gruß,

badday
 

Ähnliche Themen

Antworten
8
Aufrufe
5.118
M
Antworten
6
Aufrufe
1.792
Antworten
41
Aufrufe
3.361
Antworten
1
Aufrufe
862
Green Mamba
G
Zurück
Oben