LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

tab refnum coercing dot

Solved!
Go to solution

Hello,

 

I have created a simple subVI (attached), what I would like to use whenever I need to enable or disable states of any TAB control.

However I can see there is a coercing dot when I connect a reference to the TABcontrol refnum input terminal. I am not familiar with labview classes, could someone give me a brief explanation, and tell me, is this a problem, or not? And how I can do a proper reference pass into a subVI.

(I do not have such a problem if I just use directly created property nodes on the top VI, however, I like to hide such a elements into subVIs)

 

Thanks!

 

test.jpg

0 Kudos
Message 1 of 11
(3,448 Views)

Please post your code in 2011 version

-----

The best solution is the one you find it by yourself
0 Kudos
Message 2 of 11
(3,445 Views)
0 Kudos
Message 3 of 11
(3,442 Views)

Right click the Tab control refnum and Enable the Include data type. I don't have a good explanation for this.

-----

The best solution is the one you find it by yourself
0 Kudos
Message 4 of 11
(3,438 Views)

If I enable the Include data type, the wire between the TAB (I use two different TAB controls in my main VI with this subVI) reference, and the subVI input terminal gets broken. If I check it with help, I get this info:

classconflict.jpg

 

Strange, because I made a test VI to reproduce this behaviour, with only including one TAB control. With this test VI, your solution works.

 

Can be the problem that, I try to set the state of two different TAB controls? And one of them is inside the other?

0 Kudos
Message 5 of 11
(3,431 Views)

I try to reproduce the problem, but even if I put 3 TAB controls into each other, the solution works.

But it gives me class conflict in my main project VI.... 😞

0 Kudos
Message 6 of 11
(3,423 Views)

Attach the VI or VI's that show the problem.

 

What you attached earlier doesn't show a problem, nor a coercion dot.  Your image in your first post doesn't show a coercion dot either.

0 Kudos
Message 7 of 11
(3,419 Views)

Have I even mentioned that I avoid Tabs.  (Yes, often! that was a rhetorical question)

 

We call them "Tab Controls" and they have a value BUT, they are containers.  like panes and panels. (they have values too.)

 

Tabs have some uses.  but they have a few challenges they inherit from the OS too.


"Should be" isn't "Is" -Jay
0 Kudos
Message 8 of 11
(3,410 Views)

Hello,

 

I am not in the lab anymore, I will try to extract the problematic part from my main VI, and I will post it here tomorrow.

Regards,

0 Kudos
Message 9 of 11
(3,404 Views)
Solution
Accepted by topic author Blokk

Tab controls are similar to enums (e.g. if you wire them to a case selector, you can create cases for each tab), so each tab control is different in exact type. Your subVI is for a generic tab control, not a specific instance.

 

You can safely ignore the coercion dot, it just alerts you to that fact.

 

(Similarly, if you wire two different tab terminals to an equal funcion, you get a coercion dot on each input.)

Message 10 of 11
(3,379 Views)