QControl Enthusiasts

cancel
Showing results for 
Search instead for 
Did you mean: 

Name spacing of the QControl Toolkit

A problem has come up for some people using the QControl Toolkit because these classes do not have any namespacing library.  Some of the class names are used by other classes in their projects or by other toolkits they would like to use in their projects.  Because LabVIEW keeps track of items in memory by name, all items must have a unique name (which is why namespacing is important). 

 

Under the hood in the QControl Toolkit, there are a lot of classes.  There is a class for each class in the VI Server class hierarchy.  These classes are purposely not in a library.  This is done so when creating a QControl that inherits from these classes the entire hierarchy is not brought in as dependencies.  Instead, only the classes of the direct inheritance are brought in.  For example, if inheriting from the String class, only the String, Control, GObject, and Generic classes are brought in as dependencies.

 

In many cases, the workaround for these people was to namespace their classes by putting them in one or more libraries. But there is a change I could make to the QControl Toolkit and that is to create a library for each class in the hierarchy to ensure they have namespacing but are still not in one monolithic library.  For the naming convention of these classes the library could be: QC_[Class].lvlib 

 

For Generic it would be: QC_Generic.lvlib

 

That makes the qualified class name as: QC_[Class].lvlib:[Class].lvclass

 

Again, for Generic it would be: QC_Generic.lvlib:Generic.lvclass

 

Are there any thoughts as to what changes/problems this would cause people if I were to implement this?

Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner



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

@TheQ wrote:

But there is a change I could make to the QControl Toolkit and that is to create a library for each class in the hierarchy to ensure they have namespacing but are still not in one monolithic library.  For the naming convention of these classes the library could be: QC_[Class].lvlib 

 

For Generic it would be: QC_Generic.lvlib

 

That makes the qualified class name as: QC_[Class].lvlib:[Class].lvclass


Why not just QC_[Class].lvclass?

Certified LabVIEW Developer
0 Kudos
Message 2 of 2
(1,451 Views)