04-23-2013 12:25 PM
I have a ring constant control which is set as a strict type def.
If I select an instance of the control in my block diagram and "open typedef", I can edit the values no problem.
I then click "apply changes" and "save" and would expect all changes to propagate to every instance of this control (as it works with every other control I use). If I run the code and watch the values, they are maintained as the previous version of the control.
If I delete the instance of the control and then add it again, the new values are found.
This is frustrating, as I have to delete and re-add every instance whenever I change something. I haven't seen this behaviour in other controls as the "apply changes" has always worked as I expected.
Anybody seen this before?
I am using LabVIEW 2012, SP1, Build 12.0.1 (32-bit).
Thanks,
Matt
Solved! Go to Solution.
04-23-2013 08:38 PM
Hi Goonior,
I'm not sure whether this is a bug or expected behavior with the Ring. Is there some reason why you don't want to use an Enumerated type?
Cheers!
04-24-2013 02:31 AM
It's by design - http://digital.ni.com/public.nsf/allkb/46CC27C828DB4205862570920062C125
04-24-2013 10:48 AM
It's merely a convenience thing for readability. Normally I would have used an enum, but there are just a handful of items and they represent values that are all over the place (100, 500, 1000, 10, etc).
04-24-2013 10:49 AM
Awesome. Thanks for the link. I figured it was just something I wasn't aware of but I wasn't sure why it was happening.
Matt
06-21-2018 08:13 PM
It may not be a bug, but it is a design error.
06-22-2018 08:12 AM
You're not supposed to do this, but it does solve your problem.
In labview.ini, add the following line:
EnableStrictTypedefConstantConfiguration=True
Start (or restart LabVIEW)
On each ring constant, right-click and select "Act as Strict Typedef Constant"