Hi,
is there a best practice for excluding (disabling) code that requires unavailable/not installed/deactivated toolkits or modules for LabVIEW?
The background is integration of a new testing project into an existing inspection software that widley uses NI Vision Development Module, whereas this new project will not rely on vision whatsoever. Of course, on our development machines there will be no problem, however, when compiling the project in to an executable, this executable will only work with an activated Vision Deployment License that the customer would have to pay for, in some way.
Our idea is to use Conditional Disable Structures with a key like "Use_Vision". So far all VDM VIs can be successfully excluded. The problem are the CTLs used by VDM: Image Display and IMAQ Image.ctl - they appear in a vast number of SubVIs and also in the main data structure TypeDef - this will always break the code whenever VDM is not installed or the Deployment License is not available on the target machine.
So far I can see three ways of dealing with the situation
- make the customer pay for the Vision Deployment License
--> obvious downside here - change IMAQ Image.ctl to string element and Image Display to Intensity Graph
--> code is required to adapt from Image type to correct display of 2D Data so everything present will function properly as it had before that change - delete all VDM content and just develop without it
--> new branch of inspection software that has to be maintained in the future
Does anyone know a different, more practical approach? Thanks for your time, thoughts and input.
Falk from Germany