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,502 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,466 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,440 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,416 Views)