11-03-2009 11:33 AM
It is not good practice to have your controls and indicators disappear and reappear while your program is running
They don't. They appear when I am in production mode or debug mode. They are gone when the user gets the executable.
11-03-2009 11:46 AM - edited 11-03-2009 11:50 AM
It's my fault for being unclear. Please add "(or a calling VI)" after the two places I wrote "users" and Bob will be your uncle.
Are you saying that I can't pass an array to a subVI. I have to make the user type it in? You're telling me that I have to show that control to the user when what he really want to see is a plot?
I didn't intend to say that at all. (Did it really come across that way?) I had images of swarms of Local Variables and Property Nodes strewn all over the place when I read your original post. I had these images because I thought I recognized a practice I was once guilty of. How far off was I?
oyester wrote:
I generally solve this problem by putting all of my variables on a tab structure
[and...]
The indicators are not there for debugging, they get passed on to other subVIs.
This last statement is bringing those images back... Read what Dennis Knutson wrote about passing data to a sub VI. The only way I ever read controls is from the BD terminal; I never read the value of an indicator. If you're using a Local Variable or a Property Node to write to a control (with one exception) or to an indicator, I stand by my original post.
11-03-2009 11:58 AM
11-03-2009 12:24 PM
You're right, I didn't state my problem clearly. I was trying to explain something that is complicated (to me) and I did it badly. I even hinted at that in my first sentence.
Let me try again.
Sometimes, in a subVI that a user must interact with, there are controls and indicators that the user does not really need to see. I handle this by putting the user interface on page-1 of a tabbed structure and the stuff I need to hide on page-2. then I hide page-2 from the user.
Is there a better way to do this?
11-03-2009 12:33 PM - edited 11-03-2009 12:38 PM
because, if the subVI is complicated and I am in development or debugging mode, it is hard to find all of the hidden controls and indicators.
Sorry, I guess I misunderstood this sentence when i recommended using the probe. Geeeezeeee 😉
I think you should just post your "problem" VI. People will be able to understand you a lot better than speculating at what you are doing, what the front panel looks like, etc based on your descriptions.
11-03-2009 12:53 PM - edited 11-03-2009 12:56 PM
Sometimes, in a subVI that a user must interact with, there are controls and indicators that the user does not really need to see. I handle this by putting the user interface on page-1 of a tabbed structure and the stuff I need to hide on page-2. then I hide page-2 from the user.
Is there a better way to do this?
I see what you're saying. There are indicators made to be hooked up to the connector pane, and pass data out of the subVI, but there is no reason for the user to see them on the front panel (when the subVI front panel is open). Say, maybe a calculation is done in that subVI and the answer is passed out to be used somewhere else, but the user doesn't really care about that when he is interacting with the subVI's front panel.
I'm guessing you just have too much happening in your subVI's and they need to be broken down more. However, what about putting all these extra indicators in a cluster, you can then resize your cluster when you need to see the indicators in it(development so you say...), otherwise make it small and slightly off the screen where it is out of site in the executable.
Sorry if I'm entirely off base with your question, and I may give up after this 🙂
My recommendation to post the VI still stands true
11-03-2009 01:03 PM
The vast majority of subVI's aren't going to have their front panel shown. So the only controls and indicators you need are the ones you use to connect to the connector pane. They should be arranged on the front panel in a way that is clear, and good LV style would have them in an arrangement that is similar to the connector pane layout. Controls on the left, indicators on the right. Stuff at the top up, stuff at the bottom down. If there are a few extra indicators that don't get connected to the connector panel, no big deal. Put them on the front panel to in their own spot clearly marked. No need to hide them as the subVI's front panel won't be shown anyway.
If you do have a subVI that needs to be show (because it will itself be a part of the user interface) and there are some controls or indicators that are a part of the connector pane, but the user doesn't need to see them, then it is okay to either hide them, or perhaps move them out of the viewing area of the window (assuming the front panel window is basically locked with no scroll bars or resizing.) But subVI's that are also a user interface tend to be a tiny fraction of all the subVI's that you would use in your project.
11-03-2009 02:52 PM
11-03-2009 02:55 PM
11-03-2009 03:47 PM
Perhaps if you are just wanting to hide the info on Tab Page 2...and page 1 is ok for the user to see, you could use the Property Node for the tabs "Tabs Visible" property set to false if you are in user mode and True if in diagnostic mode...
Yes. That is exactly what I do. I just wondered if there was a better way. I don't care for the recommended way (dragging the user-unused-widgets out of view) because then I can't print (EVERYTHING will get printed). I could make the user-unused-widgets invisible but I don't care for that either.