@unknownuser said:
t's a bit vague - what exactly doesn't work of these calls? Do you see Ruby's packing methods returning different results?
Is the DLL you are calling actually 64bit?
Does the function you are calling actually use ints - or are you using some other type that might be different on 64bit OS?
Yes dll is 64bit, I was passing double value as a pair of two ints. On c++ side it was double parameter, and call was passF.call(packedF[0],packedF[1]) on ruby side.
@unknownuser said:
On a side note - the Win32API has been deprecated for a long time. It has many limitations and is easy to cause crashes with. The recommended now is using Fiddle.
That solves my problem, it does work now - thank you!
It is a pity that there is no fiddle on SU < 2014 (with old ruby),
and I need to use ancient Win32API.so method for backward compatibility.