06-10-2015 07:44 AM
Lv2013 SP1, although it happens on LV2010 and earlier versions too.
See the JING: <http://www.screencast.com/t/hRGVmHSol>
The VI is broken. I renamed a USER EVENT elsewhere, and this VI that uses it, doesn't know about the new name.
So, it's broken. I get that.
At 0:13, I edit the events for this case and choose the new name.
That should fix it. But..... it's still broken.
I wonder what else is broken? How do I find out? Well, I click on the broken arrow, of course.
But, then LabVIEW decides "Surprise! I was only kidding - it's not broken after all - Here, I'll RUN IT FOR YOU!"
Obviously, the compiler is not being triggered at the right time.
Is this related to that Environment / Compiler Optimizations setting?
Maybe somehow it thinks that lying to me is a better option than taking an extra millisecond?
Blog for (mostly LabVIEW) programmers: Tips And Tricks
06-10-2015 07:53 AM - edited 06-10-2015 07:53 AM
It is NOT affected by the compiler optimization setting.
I can set that to 0 or to 10 and the behavior is the same.
After I fix the original problem, if I delete something essential, and then undo that, it figures out that it should recompile, and the broken arrow is fixed. But somehow, changing the event case is not enough to trigger a recompile.
I've seen it happen lots of times over the years. It's maddening, and maybe dangerous.
("Hmmm. I wonder what's wrong with the "Launch Nuclear Missile.vi". I'll just click on the broken arrow to find out....)
Blog for (mostly LabVIEW) programmers: Tips And Tricks
06-10-2015 07:54 AM
06-10-2015 08:04 AM
I've seen this, too. Never considered it could be "dangerous" but you're right. It's a possibility.
06-10-2015 08:07 AM
You could always do a force-compile on the VI - I think it's Ctrl+Click on the Run arrow. I do find that sometimes the IDE/Compiler gets confused and it can show as broken even though the VI is runnable (and sometimes even shows no compilation errors).
06-10-2015 08:13 AM
Mike,
I was actually able to find a pretty easily reproducable case that this happens when I was messing around with unit labels a while ago. Open the VI attached and wire the numeric to the EQ0? function then undo and it will break a wire on the select function. If you click the broken wire it will only call out the fact that the EQ0? is not wired and will fix the broken wire.
I remember bringing this up and questioning whether having a select function with different units as inputs should cause a syntax error.
06-10-2015 08:15 AM
You could always do a force-compile on the VI
But I would have to suspect a problem BEFORE I would do that.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
06-10-2015 08:19 AM
NI's position is we won't even look into it until you can give repeatable steps to duplicate it
Oddly enough, while attempting to do exactly that, I ran into another case:
JING: <http://www.screencast.com/t/biQkUV6zUoW>
Wire a BUNDLE BY NAME function to a local variable set to WRITE.
It's broken. I get that.
Change the Local to READ and the wire heals, but the bundle does NOT show any names.
Change something and the bundle will show names.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
06-10-2015 08:35 AM
My simple case didn't fail, but it did show this.
When I RENAME the event, the Event structure did NOT adjust to the new name, but the menu used to select which case to view, DID.
However, nothing was broken here, so it's not a test of the original problem.
Blog for (mostly LabVIEW) programmers: Tips And Tricks
06-10-2015 08:39 AM
I can't seem to make a reproduciible case.
I hope you guys will testify at my sanity hearings...
Blog for (mostly LabVIEW) programmers: Tips And Tricks