04-07-2009 08:54 AM
We have a large application that calls modules dynamically. It has been working in LV 8.2. We compile the main program and use "Source Distributions" to distribute modules for individual installations. Thus these modules are LV source code in directories that the .exe calls dynamically.
Two of our modules use DAQMX, so the distributions get understandably large. Since the DAQMX is an option that most customers don't use, we incorportated a Conditional Disable structure around them and used a custom Conditional Disable key. We set this key's value in the project before creating the source distribution, so that we can choose whether or not the DAQMX sub-vis are included in the distribution. This all worked fine in LV 8.2.
We recently upgraded to 8.6. Now the distribution includes the DAQMX sub-vis regardless of the conditional key. I thought that maybe the condition got "disconnected" in the upgrade process, so I created a new key, deleted and replaced the conditional disable structure, but to no avail.
Worse than just having the sub-vi's included in the distribution, even though they have been supposedly removed, the fact is that if the DAQMX drivers are not loaded on the target machine, the VI is broken and won't run. Even though the VIs aren't using the DAQMX sub-vi's, they are broken because the associated dll's are missing.
I looked through the forums, and though I found a number of messages about the Conditional Disable, I couldn't find anything specific about this issue. Is this a known issue? Is there a work around?
DaveT
04-07-2009 09:49 AM
04-07-2009 10:30 AM
David,
Just to confirm, I see this problem also when using your attached vis.
Reading the NI Help for LabVIEW 8.6 I can see that the behaviour of the Conditional Disable Structure should do exactly as you prescribed, and that disabled cases ought not be compiled. Could this be a bug in 8.6? I think we might need an NI rep to step in here and confirm this for you...
04-08-2009 06:25 PM
Hi Dave,
This was reported to R&D (# 159192) for further investigation. Thanks for the feedback!
Regards,
Stephen S
04-09-2010 01:14 PM
Hello,
LabVIEW 2009 SP1 seems to be still affected by the problem, however it looks like it is not reported in the known issues. Any update for this bug? It is pain for us too!
Best
Charles
04-12-2010 04:56 PM
Hi everyone,
The behavior of the VIs being included in the project is expected. What isn't expected is that it would cause the execution to fail. I will have to try it out myself and may file a different CAR.
04-12-2010 10:56 PM
Jeff,
See if it is related to CAR ID# 212974
04-13-2010 07:55 AM
Hi Jeff,
I don't get your message; if the VI is marked as "include if referenced" in the build spec and that the subVI call is in a diagram disable structure, I think it is expected to be excluded from the build
Charles
04-13-2010 11:25 AM
If you build a source distribution with conditional disable around VIs, the VIs will be pulled into the source distribution. That is what is expected.
When you get to your machine without the DAQmx driver installed (thus breaking the included VIs), as long as they're still inside the conditional disable it should still run (and be able to be built into an EXE). If it's not letting you, then that is unexpected. I will confirm the error is occuring.
04-13-2010 11:25 AM