11-09-2009 11:12 AM
(Today's nugget comes to us from gmart, who knows a thing or two about App Builder.)
The Conditional Disable Structure will execute code depending on various conditions. A new condition was added in LabVIEW 2009 called RUN_TIME_ENGINE:
This symbol specifies whether code in a subdiagram executes when you create a LabVIEW stand-alone application or shared library that uses the LabVIEW Run-Time Engine. While the same functional behavior could be achieved by using the App.Kind property of the Application class, the conditional disable symbol goes further by not even including the code in the application. By using this symbol, you can have debug code execute while developing in the LabVIEW environment, and effectively comment it out in a built application. The symbol is not applicable to outputs of source distributions since that code is generally called from another LabVIEW environment.
11-09-2009 11:45 AM
11-09-2009 02:00 PM
11-10-2009 09:48 AM
11-12-2009 02:02 PM - edited 11-12-2009 02:03 PM
before we got the conditional disable structure we are using a simple case. Building a demo version and sending to a customer causes always to install the drivers. The VIs were part of the exe and are loading the external DLLs although they where never used, e. g. the DAQmx VIs.
With this structure and custom symbols like "DAQ-Not-Present" we are able to leave the DAQmx VIs out of the demo and therefore have no need to install the drivers. Copying the runtime to the same folder as the application we were able to run directly from CD/DVD.
For us this is not a "depends on the situation".
11-13-2009 02:55 PM
11-16-2009 06:29 AM
Waldemar,
is it still possible to run a driver less lv.exe without a runtime installation on a windows system? I did that with lv 4 ... but I thought with the current versions it's not possible anymore.
What will files be needed? I remember lvrt.ddl, however that was many years in the past 😉
Sorry for hitchhiking
11-16-2009 07:22 AM
Thanks Darren.
This is good to know.
11-16-2009 02:16 PM
Henrik,
additional to your exe you need the files from National Instruments\Shared\LabVIEW Run-Time and then the correct LV version. You may try to delete the one or other DLL, e.g. lvpng.dll is only needed when you are reading or writing png graphics files. Also you can delete files in model (controls you don't use) and script.
There is one LV 8.x version (I don't know which from my head) where you needed to copy a ini-file from the Windows folder to the application.
As a result to a Windows crash where I lost parts of the registry I need to unplug a harddisk to have a system I can use again. On this disk I have all those versions available. If you are interested in more details contact me per email on buero at hersacher.de.
12-14-2009 11:14 AM
Your nugget encouraged me to start playing around with the Conditional Disable, but I ran into a bug where it executed the wrong code when the VI was a subVI (see attached). Things were "repaired" if I recompile everything, or have the subVI's front panel open, but it leaves me wondering how bullet proof the Conditional Disable is. Are these structures safe in mission critical apps?
(P.S. - You will only see the bug in LV 8.6, 8.6.1. If you open it in LV 2009, it will force a recompile and you will not see the bug.)