не раз возвращаюсь к этому топику, и не могу добиться результата. вот к примету со структурой (возврат более 2 и более значений из функции.) допустим, необходимо вернуть не одно число, а координаты:
пилот
--lua
local ffi = require("ffi")
local lib = ffi.load("findimg.dll")
ffi.cdef[[
struct my_struct{
int x;
int y;
};
__cdecl const struct my_struct* testf(int x, int y);
]]
local result = lib.testf(10,20)
log(result.x, result.y)
dll
type
FRes3 = record
x,y: integer;
end;
{....}
function testf (a,b:integer):FRes3; cdecl;
var
r:FRes3;
begin
r.x := a;
r.y := b;
testf := r;
end;
данные не возвращаются в таком исполнении. что не так?