Git Product home page Git Product logo

verysimplelua's Issues

how to Register a variable

lua code
test = TTest.new();
test.dosomething();
print(test.somevalue);

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41737864-how-to-register-a-variable?utm_campaign=plugin&utm_content=tracker%2F13496533&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F13496533&utm_medium=issues&utm_source=github).

Exapmles 3 and 4 (FMX) does not work

  1. Lua.LibraryPath is invalid
  2. After fixing #1 nothing is printed in Memo. print function is not called at all.
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/40647567-exapmles-3-and-4-fmx-does-not-work?utm_campaign=plugin&utm_content=tracker%2F13496533&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F13496533&utm_medium=issues&utm_source=github).

Version for Delphi XE2

Hello,
thanks for your very nice units.
I adapted them to work with Delphi XE2. The only modifications required are:

  1. substitute $ENDIF with $IFEND in the conditional compilation beginning with $IF defined(...)

  2. insert this conditional block in VerySimple.Lua.Lib in Interface types part:
    // Compile for Delphi <= XE2
    {$IF CompilerVersion<=23}
    MarshaledAString = PAnsiChar;
    PMarshaledAString = ^PAnsiChar;
    TMarshString = record
    s: string;
    function ToPointer(): PAnsiChar;
    end;
    TMarshaller = record
    s: string;
    function AsAnsi(s: string): TMarshString;
    end;
    {$ifend}

  3. insert this conditional block in VerySimple.Lua.Lib under Implementation part:
    // Compile for Delphi <= XE2
    {$IF CompilerVersion<=23}
    function TMarshString.ToPointer(): PAnsiChar;
    begin
    Result:=PAnsiChar(AnsiString(s));
    end;
    function TMarshaller.AsAnsi(s: string): TMarshString;
    var
    ms: TMarshString;
    begin
    ms.s:= s;
    Result:= ms;
    end;
    {$ifend}

Of course it emulates types MarshaledAString and TMarshaller that are present only in newer versions of Delphi.
Regards

Giandomenico De Sanctis


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Wrong function declaration: lua_testudata

The function reads as such:

procedure luaL_testudata(L: lua_State; ud: Integer; const tname: MarshaledAString);

However the lua 5.3 documentation declares it with a return type of void *. I suggest this change:

function luaL_testudata(L: lua_State; ud: Integer; const tname: MarshaledAString): Integer;

Thanks for your great work in translating the C headers, it helped me tremendously.

Example request (call a Lua function from a Delphi program)

Hello! It isn't an issue, but rather a request for a code example.

I would like to call a Lua function from my Delphi program, and get the result, 
as you can see in the attached example. What would my code look like, if I 
would use VerySimple.Lua?

Best regards.

Roland Chastain

Original issue reported on code.google.com by [email protected] on 21 Feb 2015 at 6:12

Attachments:

how return a object

lua code
test = TTest.new();
test.dosomething();

how code the TTest in delphi?

delphi code

function TTest.new(L:lua_State):Integer;
var
obj:TTest;
begin
obj:=TTest.Create;
lua_pushobject(L,obj);
return 1;
end;

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41360840-how-return-a-object?utm_campaign=plugin&utm_content=tracker%2F13496533&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F13496533&utm_medium=issues&utm_source=github).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.