[Python.NET] Sending a buffer (pointer?) to a C# function
denis.akhiyarov at gmail.com
Thu Mar 9 13:46:55 EST 2017
Can you open an issue on github.com/pythonnet/pythonnet? Please report your
environment, such OS, versions of Python, .NET, pythonnet.
You are trying to pass numpy array to .NET method that only accepts
`ushort[frameSize / 2]`. Try creating the same .NET array from pythonnet
and passing it instead.
On Thu, Mar 9, 2017, 12:33 PM Aloter One <aloter at gmail.com> wrote:
> I'm trying to use pythondotnet to communicate with a camera (from Xenics),
> it has a C# wrapper.
> From their documentation it seems I need to send the following to grab a
> XCamera::GetFrame ( FrameType
> unsigned long *ulFlags*,
> void * *buffer*,
> unsigned int *size*
> In their C# example they create the buffer by:
> UInt32 frameSize = camera.FrameSize;
> frameBuffer = new ushort[frameSize / 2];
> and call the function:
> GetFrame(FrameType.Native, XGetFrameFlags.Blocking, frameBuffer,
> I've tried to emulate it by creating the buffer in python:
> frameSize = np.uint32(camera.FrameSize)
> frameBuffer = np.empty([int(frameSize/2), 1], dtype=np.ushort)
> However when I try to call the function (camera is an XCamera object from
> their dll, FrameType and XGetFlags are defined in their dll also.
> camera.GetFrame(FrameType.Native, XGetFrameFlags.Blocking, frameBuffer,
> I get an error I'm not sending the right variables to the function:
> "TypeError: No method matches given arguments"
> Do I need to send the actual buffer pointer to the function? How to
> implement it in pythondotnet?
> Thank you!
> Python.NET mailing list - PythonDotNet at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PythonDotNet