LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Defer panel updates panel property question

I have a VI which updates a list of controls by using a while loop indexing an array of control references.

Nevermind that 60 string controls on a front panel isnt good GUI design.. I have my reasons for doing it this way...

My question:
Im using the panel property "DeferPanUpdts" to disable panel updates before entering the loop, and re-enable updates on finishing the loop. For some reason it doesnt seem to be deferring updates. I can watch the screen redraw as it iterates through the array. I've probed the errors, there are none. Im double checked that my reference to the panel is correct. 

Are there any conditions which will render this property ineffective?  Such as having the lightbulb on while debugging a diagram, or having the VI be within a subpanel control? Those two examples dont seem to be the cause.

Its seems I've either found a wierd case, or Im doing something completely stupid and cant find it.

Thanks!

Using labview 8/win32


0 Kudos
Message 1 of 5
(3,606 Views)

Hello,

I looked at your screenshot for a while and couldn't think of anything that would cause the Defer Panel Updates property to not function properly.  Obviously it wouldn't work if it received an incoming error (but you don't have an error in wired, so that's not it).  The panel will also redraw if you cover its window with another window, then move it back (but that's an OS drawing thing, I think, and it doesn't sound like this is what you're doing).  Any chance you could attach a simple VI that demonstrates the problem?  I use Defer Panel Updates all the time, and have never had a problem with it not deferring the updates as it should.

Good luck,
-D

Message 2 of 5
(3,596 Views)
This particular VI is part of a much larger application. It would take me some time to separate it out into a test case.

Until then... maybe  your on to something with the re-draw. I just ran it NOT embedded in a subpanel control- and it worked as expected.

I wonder if the defer property needs to be set on the PARENT vi, since this vi is embeded in a subpanel the parents' settings may override?.

Unfortunately I need to run it in the subpanel. Ill have to develop a workaround.

Good thinking- Thanks!


0 Kudos
Message 3 of 5
(3,587 Views)
Hah!

After some investimagation, its seems that the Parent VI AND the VI in the subpanel must both be set to defer updates.

Now I can at least build myself a helper function to take car of setting/resetting the property in both places.


0 Kudos
Message 4 of 5
(3,577 Views)
Ah, ok.  It was unclear to me from your first post that you were trying to defer updates on a VI being displayed in a subpanel (I probably read your first post too quickly).  Yes, I seem to recall hearing from someone that you have to defer on the parent VI in order for a defer on a hosted VI in a subpanel to work.
 
Glad you got it working,
-D
0 Kudos
Message 5 of 5
(3,572 Views)