remobjects/pascalscript

Delphi Linux variant parameter

LeventeKocsis opened this issue · 1 comments

Hi,

I compiled successfully the project with Linux target, but when I add an external function with variant parameter, I'm getting could not call proc error.

I modified sample2 and added a function with variant parameter,

sample2.zip

Best regards.

I found then problem:

In InvokeCall.inc, where the arguments are handled, is missing the btVariant, please add the following line:
btVariant: Arg := TValue.From(PVariant(fvar.dta)^);

In the same function, where the result type is handled, please add the following line:
btVariant: PVariant(res.dta)^ := Variant(Invoke(Address,Args,SysCalConv,TypeInfo(Variant),False,IsConstr).AsType<Variant>());