This took me forever to create a working demo. This is directly connected to this post: https://forums.ni.com/t5/LabVIEW/Error-1571-in-Get-LV-Class-Default-Value-in-specific-situations/m-p...
I've found an issue in LabVIEW that only happens when the "allow future versions of LabVIEW Runtime to load this application" is checked. When it's unchecked the issue does not appear. I've attached a zip file, that contains all the source, and builds to recreate the error. Outlined below is the steps to reproduce it, as well as the basic setup of the demo.
Source Code: LabVIEW 2017 SP1. The Source code for the TestStand seq is LabVIEW 2014. Keep it that way (I think its part of the issue).
Runtime needed: LabVIEW 2014, LabVIEW 2017, LabVIEW 2019/20. TestStand 2017.
Inside of the zip file you will find the following folders:
BaseActor -> Contains the source code for the base actor.
Builds -> Contains the base level PPL's, and Sequence files that are common among everything, as well as the TestSTandSimpleUI.lvlibp. This also contains the Launcher.exe to use.
InstrumentBuilds -> Contains the DCPowerSupply, DCPowerSupplySimulated, and GUI PPL's.
Insturments-> Source code for InstrumentBuilds PPL's.
Launcher -> Contains the LabVIEW Project that builds the *.exe to launch everything.
TestStand -> Source code for the TestStandSimpleUI.lvlibp
Steps/Settings to Reproduce:
1. The TestStand LabVIEW Adapter should be set to Runtime and Auto-Detect.
2. Run Launcher.exe with "allow future versions" checked. Depending on the order the application is run, is how the error gets reproduced.
No Error Steps: (must be done on a clean launch)
3. Select DCPowerSupply. Notice there is NO ERROR when LabVIEW loads the DCPowerSupplySimulated class. You can check this by setting the voltage, and getting the voltage to see they correspond.
4. Click Close.
5. Click TestStand to launch the TestStand Simple UI Actor
6. Run the sequence in the Build path called "Mobile Device Test Client.seq"
7. Pick any phone, click enter on the failure dialog box.
8. Once the sequence is done. Click Exit. (can take some time)
9. Go back to DCPowerSupply to see everything still works.
Error Steps: (must be done on a clean launch)
3. Click TestStand to launch the TestStand Simple UI Actor
4. Run the sequence in the Build path called "Mobile Device Test Client.seq"
5. Pick any phone, click enter on the failure dialog box.
6. Once the sequence is done. Click Exit. (can take some time)
7. Select DCPowerSupply. Notice the error when LabVIEW tried to load the DCPowerSupplySimulated class. The program is now broken, because LabVIEW won't load the PPL due to a version error.
You can now change the *.exe to not allow future versions to run it. This will allow either the No Error/Error Steps to work.
just for info, and because you are not alone I have post these 2 ideas :