LabVIEW Idea Exchange

About LabVIEW Idea Exchange

Have a LabVIEW Idea?

  1. Browse by label or search in the LabVIEW Idea Exchange to see if your idea has previously been submitted. If your idea exists be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea to the LabVIEW Idea Exchange. Be sure to submit a separate post for each idea.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see in a future version of LabVIEW!
cancel
Showing results for 
Search instead for 
Did you mean: 

True .NET Support

I hope LabVIEW wishes to become the next-generation all-purpose programming language that will be used all over the world in all industries.

 

.NET and Java are the dominant Technologies in almost the entire world.  With the introduction of the ability to create a .NET Interop Assembly with LabVIEW 2009, I was very excited because I thought that now I could go back to several former employers and make a convincing argument for them to use LabVIEW.... But then I realized,  yes, I can now expose my code written in LabVIEW to .NET applications, but my code cannot do many things which are standard in those worlds.  For example:

 

I can create a .NET Assembly, but I cannot:

  • inherit .NET classes
  • use generic .NET classes
  • create.NET classes that use generics
  • implement .NET interfaces
  • expose a LabVIEW event to a .NET caller
  • expose a LabVIEW class to a .NET caller 
  • cannot create Office Plugins, or any other Plugin that requires me to implement an interface

 

i.e. almost every single financial institution has an in-house developer that creates various Excel Plug-Ins and Add-Ins, LabVIEW cannot be used to create such a product because LabVIEW cannot inherit from and implement the IDispatcher interface.

 

The CLI - Common Language Infrastructure is an open specification developed by Microsoft tha

 

It allows anybody to create a programming language that creates fully compliant .NET code.  There are 3rd parties that have created products such as ActivePerl and ActivePython, which allow developers to use Perl and Python (and even COBOL!) to create .NET compliant code.  My vision is for LabVIEW to do the same, so that now every single organization in the world that uses any .NET language can also consider using LabVIEW, without having to run into many issues along the way.  Only with full .NET compliance will random worldwide organizations consider writing a portion of there software in LabVIEW before hopefully moving entire projects onto LabVIEW!

Message Edited by John80 on 09-03-2009 01:49 PM
4 Comments
NI Employee

Great suggestions!

Only one correction:

In .NET Interop Assembly with LabVIEW 2009, user can:

expose a LabVIEW class to a .NET caller 

 

 

Member

I'm not much familiar with .NET programming, but wanted to add my recent experience with a program based on .NET programming. It is a piece of software for GC-analysis in the chemistry lab called EZChrom Elite. The current version is incompatible with .NET versions higher than 3.0 So if my computer is automatically updated with Microsofts most latest version of .NET framework 3.5, I will get into trouble with this program, and has to uninstall version 3.5.

That software based on .NET can at all get incompatible with future version of .NET like this  makes me think not so good thought about .NET programming. Thats all, and thats it. Martin

Active Participant
As superjing commented the assembly should be used by a .Net caller. By referencing the LV assembly in VisualStudio (i.e. also in combination with NI Measurement Studio)  you can do what you want as described I think. Christian
Member

Is there anything preventing NI from exporting properties and methods of controls and indicators into the .NET interop Assembly created by LV ?

rgds

Peter

Peter Badcock
Product Development
ResMed Ltd.