1
0
mirror of synced 2025-02-05 09:47:10 +01:00
Mark van Renswoude 943083ac00 Added readme for GitHub
Added gitignore for bin, lib and history folders
2016-02-07 14:25:00 +01:00
2014-11-30 09:33:17 +00:00
2016-02-07 14:25:00 +01:00
2016-02-07 10:58:56 +00:00
2016-02-07 14:25:00 +01:00

DelphiLua

definitely not the most creative project name

This project consists of two parts: a straight-up conversion of the LuaBinaries 5.2 C headers to Delphi, and the TLua class to make integrating Lua with Delphi projects easier.

A note on compatibility

It's been tested and developed on Delphi XE2 32-bits. Minimum version for the wrapper is probably 2010, due to anonymous functions and TRttiContext being used. I also know for sure that the code isn't 64-bits compatible yet.

Getting started

If you're just interested in the API, the Lua manual is the best place to start.

For the wrapper, take a look at the unit tests in TestWrapper.pas. Be sure to copy Lua52.dll into the output path if you're gonna run the unit tests or your own project.

A very, very simple example

Load a script from a string, passing two variables A and B and having the script sum them up into variable C.

var
  lua: TLua;
  returnValue: Integer;

begin
  lua := TLua.Create;
  try
    lua.SetGlobalVariable('A', 5);
    lua.SetGlobalVariable('B', 10);

    lua.LoadFromString('C = A + B');

    returnValue := lua.GetGlobalVariable('C').AsInteger;
  finally
    FreeAndNil(lua);
  end;
end;

...of course, you can do much more exciting things like calling Delphi functions from Lua or vice versa. Check out the Call and RegisterFunction(s) methods. Have fun!

Description
No description provided
Readme 282 KiB
Languages
Pascal 100%