G#

cancel
Showing results for 
Search instead for 
Did you mean: 

G# Framework 2.0.0 released for LV2020 - now with native interface support!

A new version 2.0.0 of G# Framework has been released for LV2020 supporting the new native LabVIEW interfaces in LabVIEW 2020. At the same time we also releases version 1.8.2 for LabVIEW >=2017 with the bugfixes.

 

New features in 2.0.0:

addq_lib_gsharp-2.0.0.2.vip

* Recompiled to LV2020.
* Added support for native interfaces to G# called IG#.
* Removed Debug Server.
* Removed old obsolete G#Interface templates.

 

Bugfixes (1.8.2 and 2.0.0):

addq_lib_gsharp-2.0.0.2.vip

addq_lib_gsharp-1.8.2.1.vip

 

* If a library has separated compiled code in the library settings, this will override the environment settings.
* Clone method to new class inside lvlib not always working.

* Minor update to G#Object_GetClassType to make it work inside EXE and also better check on path.

 

Icon Editor

* Reverted back to older version from 1.6, to make it simpler.

 

Please notive that there is a problem with the addq_lib_gsharp-2.0.0.1.vip build (IG# root interface is not added to a new IG# interface class and needs to be added manually, see Changing Parent Interface below). There is an issue with VIPM and empty interface template classes, causing this behaviour. 2.0.0.2 has a workaround fix.

 

LabVIEW Interfaces

In G# Framework 2.0.0, there is a new root interface called IG#, that has been placed on top of G#Object. It is completely backward compatible and the reason for the IG# root interface is to be able to use the G#Object methods also when working with interface references. In order to use the G#Object methods, all new created root interfaces need to also inherit from IG#. However, it is possible to create an interface "the native LabVIEW way" and simply manually add IG# as parent interface. If IG# is not added as parent interface, it will still work, but the G# support methods will not be available.

 

Notice that all of the "old" G#Interface IDE support from previous G# Framework versions has been removed from the project environment, but the G#Interface.lvclass is still included, to make all code compile for backward compability.

 

Create New Interface

To create a new IG# interface, just use the New->G# Class as an ordinary G# class. Now there is a new template called IG#InterfaceTemplate, choose this to create a new G# Interface. In this dialog it is also possible to select parent interfaces. The created interface will also inherit from IG#.

 

G# Create ClassG# Create Class

 

Adding Methods to an Interface

To create an interface method, simply just create it as any G# class method using Create Method. There is just one template to choose from.

 

G# Create MethodG# Create Method

 

Implementing Interface Methods

This is just like a normal override when creating a new method. All parent interfaces methods will be listed among Override Methods.

 

Changing G# Classes Parent Interface

To change parent interface, just use the native LabVIEW inheritance dialog for this. Right-click on class->Properties->Inheritance, then press "Change Parent Interface". Notice, changing inheritance for G# classes, use the "G# IDE" change inheritance, since there are methods to relink when changing inheritance for G# classes.

 

LabVIEW InheritanceLabVIEW Inheritance

 

10 Years with G# Framework in 2020!

 

Message 1 of 2
(3,060 Views)

Thanks for your great work!!!

0 Kudos
Message 2 of 2
(3,035 Views)