LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to create classes implemented in a dll (which is not based on .net resp. .com) from labview

I have a dll which contains classes. This dll is not based on .net or .com - framework. I want to create instances of these classes to use them in labview, but this seems to be not straightforward - so i hope somebody can give me support...

 

Thanks!!!

0 Kudos
Message 1 of 2
(2,764 Views)

goljadkin wrote:

I have a dll which contains classes. This dll is not based on .net or .com - framework. I want to create instances of these classes to use them in labview, but this seems to be not straightforward - so i hope somebody can give me support...

 

Thanks!!!


If you say that it uses classes but not using .Net or ActiveX does that mean you have a C++ library? In that case there is no way to access that directly from within LabVIEW. OOP ABIs (Application Binary Interfaces) vary between each compiler and often even between versions of the same compiler. There is no way LabVIEW could give you a predefined interface like the Call Libarary Node for shared libraries, or the ActiveX or .Net property and method nodes, since it would need to to that for just about every C compiler out there and often for different compiler versions in different ways. Add to that that the compiler builders do usually not even document the ABI of their object oriented binary object modules and the whole idea is an exercise in vain for sure.

 

The only way to access such a library is by wrapping it into an interface that has a standardized ABI. This could be done by wrapping it into an ActiveX library, probably the most direct way, or into a .Net interface, but also by defining a standard C wrapper that wraps all object methods into individual functions that get exported from the library as normal C functions.

 

Rolf Kalbermatter

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 2 of 2
(2,744 Views)