I'm using WIN32OLE with the Matrox ActiveMIL image processing library.
For the most part things work fine but there's a function that won't
work cleanly. The function has two versions, the first one to set a
kernel element, the second one to retrieve an element. I'm attaching
an IDL snippet below. Only the second version works directly in Ruby.
I can make the first version work like this:

k._invoke(0xd,[1,1,5.0],[VT_I4,VT_I4,VT_R8])

but I'm wondering why it's not working directly.

Any suggestions?

Thanks,
Andrew Queisser

[id(0x0000000d), propput, 
  helpstring("Returns or sets the data in the kernel."), 
  helpcontext(0x0000241d)]

HRESULT Data([in] long X, [in] long Y, [in] double retval);

[id(0x0000000d), propget, 
  helpstring("Returns or sets the data in the kernel."), 
  helpcontext(0x0000241d)]

HRESULT Data([in] long X, [in] long Y, [out, retval] double* retval);