LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Possible Bug: Ring Constant Typedef not updating...

Solved!
Go to solution

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

Message 1 of 7
(4,773 Views)

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!

0 Kudos
Message 2 of 7
(4,754 Views)
Solution
Accepted by topic author Goonior

It's by design - http://digital.ni.com/public.nsf/allkb/46CC27C828DB4205862570920062C125


___________________
Try to take over the world!
Message 3 of 7
(4,734 Views)

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).

0 Kudos
Message 4 of 7
(4,718 Views)

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

0 Kudos
Message 5 of 7
(4,716 Views)

It may not be a bug, but it is a design error.

Message 6 of 7
(4,272 Views)

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"

 

"If you weren't supposed to push it, it wouldn't be a button."
Message 7 of 7
(4,258 Views)