ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview COM interface

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.

_________________________________________________________________________________________________
LV 8.2 at Windows & Linux


0 Kudos
Message 1 of 4
(3,986 Views)

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

Ravi A.
National Instruments | Applications Engineer
0 Kudos
Message 2 of 4
(3,950 Views)

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.

_________________________________________________________________________________________________
LV 8.2 at Windows & Linux


0 Kudos
Message 3 of 4
(3,924 Views)

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.

Ravi A.
National Instruments | Applications Engineer
0 Kudos
Message 4 of 4
(3,900 Views)