06-21-2020 03:48 AM - edited 06-23-2020 04:07 PM
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#.
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.
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.
10 Years with G# Framework in 2020!
06-21-2020 02:37 PM
Thanks for your great work!!!