[gelöst]LuaL_loadbuffer Fehler

Rund um die LCL und andere Komponenten
Antworten
Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

[gelöst]LuaL_loadbuffer Fehler

Beitrag von Komoluna »

Hallo,

Ich seh vermutlich mal wieder den Baum vor lauter Wälder nicht.
Ich versuche hiermit mein Programm durch Lua dynamischer zu machen.

Code: Alles auswählen

 
  LuaContext := lua_newstate(@Alloc, nil);
  try
    luaL_openlibs(LuaContext);
    s := 'print("hi")';
    lua_register(LuaContext, 'print', @print_func)//printfunc ist ein cdecl methode, die einfach an Debugln weiterreicht
    if luaL_loadbuffer(LuaContext, PChar(s), Length(s), PChar('sample1')) <> 0 then
    begin
      raise Exception.Create(lua_tostring(LuaContext, -1))//<- hier kommt folgende Fehlermeldung  [string "sample1"]:1: syntax error  , also geladener string "sample1", zeile 1: syntax error
    end;
    if lua_pcall(LuaContext, 0, 0, 0) <> 0 then
      Exception.Create('');
  except
      Debugln('Error: ' + lua_tostring(LuaContext, -1));
  end;


eigentlich müsste doch "print("hi")" gültiger Lua code sein, oder?
Ich habe mich an den Beispielen aus der Gitrepo orientiert.

Edit: Hab den Fehler gefunden. Wieso auch immer, die Variable s war als TDomString definiert(Widestring).

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Antworten