[Python.NET] Sending a buffer (pointer?) to a C# function

Aloter One aloter at gmail.com
Thu Mar 9 11:33:42 EST 2017


Hello,

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
frame:

XCamera::GetFrame ( FrameType
*type*,
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, frameSize);

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,
frameSize)

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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20170309/ed1e159b/attachment.html>


More information about the PythonDotNet mailing list