Entwickler-Ecke

Sonstiges (Delphi) - Lua in Delphi "luaL_getMetaTable" veraltet?


Klabautermann - Di 29.11.11 16:12
Titel: Lua in Delphi "luaL_getMetaTable" veraltet?
Hallo,

ich möchte in einem eigenen Programm Lua-Scripting ermöglichen und taste mich deshalb ein wenig an der Thematik heran. Dank der Header von Thomas Lavergne ist das auch prinzipiell kein Problem. Nun versuche ich einen eigenen User-Datentypen in Lua zu erzeugen und gemäß der Beschreibung [http://www.lua.org/pil/28.2.html] in "Programmieren mit Lua" von Roberto Ierusalimschy mit einer eigenen Metatabelle zu versehen. Hierzu wird mit der Funktion luaL_getMetaTable eine bereits registrierte Metatabelle besorgt und dann mitilfe von lua_setmetatable an den userdatentyp gehängt. Leider ist aber die Funktion luaL_getMetaTable in den Headern auskommentiert und als alt gekennzeichnet. Wenn ich das procedure luaL_getmetatable(L: Plua_State; const tname: PChar); cdecl; wieder einkommentiere wird mir erwartungsgemäß, ein fehlender Einsprungpunkt in der Lua-Dll (5.1) gemeldet.
Leider habe ich im Internet kein hinweise darauf gefunden, dass diese Funktion veraltet ist und ob sie durch eine andere ersetzt wurde.

Weiß jemand von euch, ob es hier einen Ersatz gibt? Oder kann mir jemand helfen ein Workaround zu entwickeln, mit dessen Hilfe ich überprüfen kann ob eine bestimmte Metatabelle an meinem Userdatum hängt?

Gruß
Klabautermann


BenBE - So 11.12.11 18:51

Vielleicht hilft ein Stack Overflow mit http://stackoverflow.com/questions/8324301/replacement-for-lual-getmetatable ...