LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Non-ActiveX COM Interface?

Hi Everyone,

 

I'm wondering if LabVIEW can interface with a COM DLL that doesn't have a specific ActiveX interface.  It works within MATLAB using the following line of code:

 

     h = actxserver('RPI_IOBoard.IOBoard')

 

However, when I try to use LabVIEW's "Automation Open" block, this COM component isn't listed in the type libraries dropdown (it is registered on this computer).  When I browse to the actual DLL LabVIEW says, "The selected file is not a .NET assembly, type library, or automation executable."  Am I going about this the wrong way?

 

Thanks!

Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 1 of 14
(3,702 Views)

Hello,

 

I believe you should be able to do what you are wanting to do. What version of LabVIEW do you have? You should be able to use the Call Library Function Node.

Regards,
Claire Reid
National Instruments
0 Kudos
Message 2 of 14
(3,662 Views)

Hi Claire,

 

Thanks for the reply!  I have LabVIEW version 8.5.  I've tried the Call Library Function node but it's not working for me.  When I type in my function I get the following error: "The function name specified for this node cannot be found in the library. Right-click the Call Library Function node and select Configure, then choose the correct function name."  The DLL is marked as COM-accessible but doesn't show up in the ActiveX type list.  It can be accessed through the .NET constructor.

 

Thanks!

Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 3 of 14
(3,657 Views)
let me look into this a bit, I will get back to you this afternoon.
Regards,
Claire Reid
National Instruments
0 Kudos
Message 4 of 14
(3,624 Views)

Hi,

 

So I have been asking around and we cannot figure out how to do this. Could you attach the .dll to this post so we can try to call it in LabVIEW on our end?

Regards,
Claire Reid
National Instruments
0 Kudos
Message 5 of 14
(3,604 Views)

Sure, here's the DLL (rename the extension to .dll from .txt).  I'm not sure how this will react when it's not registered along with all its counterparts.  You may want to run the full installer (this DLL will then be found in the installation directory): http://mobilestudio.rpi.edu/downloads/MobileStudioDesktop/Production/mobile_studio_desktop.exe

 

Thanks for your help!

-Yohan

Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 6 of 14
(3,580 Views)
Thanks for sending this. I will see what I can do. You might want to take a look at the information on the mobile studio website, specifically the "Using the IOBoard in other programming environments"
Regards,
Claire Reid
National Instruments
0 Kudos
Message 7 of 14
(3,551 Views)

>>You might want to take a look at the information on the mobile studio website, specifically the "Using the IOBoard in other programming environments"

 

Haha, yea, I'm actually the one who wrote the LabVIEW stuff in that section.  It's working now under .NET but I think there may be advantages to the COM interface.

 

Thanks!

Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 8 of 14
(3,548 Views)
So you have been able to import the dll into LabVIEW?
Regards,
Claire Reid
National Instruments
0 Kudos
Message 9 of 14
(3,539 Views)
Yes, as I said, it works through the .NET constructor when I browse for the file.  However I have not found a way to access the same functions through the COM interface.  If this is not possible, that's fine, I'd just like to have an official word.
Ramirez Kleinigger Consulting, LLC
http://www.thinkrkc.com/
0 Kudos
Message 10 of 14
(3,524 Views)