03-25-2012 08:15 AM
Hello,
Recently I have a challnging task of writing a COM component that would be used by LabVIEW.
Everything is fine except the speed.The interface includes passing large arrays.
I have tested and the "VARIANT -> SAFEARRAY" way gives the worse performance.I also tried
using "Flattern to String -> BSTR" way, this was a twice faster but still very slow.
Just to say some numbers, I am passing an 1024x1024 double array. The fastest result till
now is 75 milisecond.So I am wondering, is there a way to pass just a pointer to array, like
in usual DLL ?
Michael.
03-26-2012 05:08 PM
There is a section on this document that discusses passing arrays via ActiveX calls. Does this address your specific issue? Are you trying to pass a pointer out of LabVIEW?
https://decibel.ni.com/content/docs/DOC-9080
03-28-2012 07:12 AM
Ravi,
Thank you for replay, I have passed over the document,but didn't found any ActiveX part.
May be I am missing something..
Michael.
03-29-2012 05:08 PM
These are Function Nodes that call DLLs. You can try to call a DLL and pass the pointer to that DLL, and from there move it to where you need in your code.