11-10-2022 02:07 PM
I want to have a VI that runs OK under LV 2018, but if loaded with LV 2020, will have additional capabilities.
The tricky part is linking to code that contains features that aren't in LV 2018.
Here's what I've tried: The sub VI that contains the new features is saved in LV 2020.
The main code, saved in LV 2018, has the call to that sub VI inside a type specialization structure.
It works OK, except that a warning message always pops up when the main VI is loaded.
Is there any way to suppress the "File version is later ..." messages for a SubVI in a declined case in a type specialization structure?
Attached are snippets that illustrate what I'm trying to do.
Load "Main Merge (lv 18).vi" with LV 2020+, and everything is OK.
Load it with LV 2018 or 2019, and everything is OK, except for the warning messages.
Solved! Go to Solution.
11-10-2022 06:23 PM - edited 11-10-2022 06:27 PM
11-11-2022 09:33 AM
Here's the set of VIs I ended up making.
11-12-2022 09:54 AM
I'm not sure if this works, but you could give it a try.
Instead of opening a VI reference, buffering it and then do a call by reference, you could use the VI, and right click it, Call Setup, select Load and retain on first call.
That should theoretically do the same, but I'm not sure how that will turn out when the DUT is a different version.
If it works, it will save a bunch of code.
11-13-2022 07:58 AM
Strange stuff I have never tried but possible in theory.
Build the 2018 exe version with "allow future versions of the RTE" then simply Uninstaller the 2018 rte and only permit the 2020 rte.
I once asked about how LabVIEW determines which rte to use when an exe with that setting exists on a machine with concurrent valid rtes . The answer was rather surprising. I don't recall the details and I never had to use it myself. (Frankly, I worked hard to AVOID ever getting into that viper nest) But there should be a setting in myapp.ini or something to say use xxxx, yyyy, zzzz in that order of preference.
11-13-2022 11:22 AM
As a side note, you can use the attached VI to determine what RTEs are installed.
11-16-2022 02:36 AM
@paul_cardinale wrote:
As a side note, you can use the attached VI to determine what RTEs are installed.
"Get Installed Software.vi" is missing.
Probably depends on Daqmx?
11-16-2022 02:48 AM
Only following this topic because of the unusual approach I downloaded your VI and ran it in LV 2021 and the front panel return nothing.
No error, no data. Nothing. Not even the root function:
11-16-2022 03:23 AM
@MaSta wrote:
Only following this topic because of the unusual approach I downloaded your VI and ran it in LV 2021 and the front panel return nothing.
No error, no data. Nothing. Not even the root function:
Two suggestions.
May be NI System Configuration is not installed or wrong, try to download and reinstall:
https://www.ni.com/en-us/support/downloads/drivers/download.system-configuration.html#
Or may be because you have LabVIEW installed in German.
11-16-2022 04:07 AM
Everything's fine in the MAX. And I don't think it's because of the german version. Never mind, don't need that information right now.