Skip to content

An API conversion and wrapper classes for integrating Lua 5.2 into Delphi projects

Notifications You must be signed in to change notification settings

MvRens/DelphiLua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 and 64-bits. Minimum version for the wrapper is probably 2010, due to anonymous functions and TRttiContext being used.

Getting started

Download lua-5.2.4_Win32_bin.zip or lua-5.2.4_Win64_bin.zip from LuaBinaries and extract lua52.dll.

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!

About

An API conversion and wrapper classes for integrating Lua 5.2 into Delphi projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages