LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

TestStand hangs up when I try to change CVI GUI panel title dynamically

Hello,
 
I have following problem:
I am controlling a LabWindows/CVI GUI across multiple TestStand steps to show the state of application process.
I realized that with the tutorial "Dynamically Controlling a  LabWindows/CVI GUI across Multiple TestStand Steps" founded on ni.com.
So far this works fine.
But then I wanted to dynamically control the panel title and tried to change the title by adding a function call
SetPanelAttribute(PanelHandle, ATTR_TITLE, "Title-String") in the "my-update-function".
Know every time i call this function from TestStand, TestStand hangs up.
Maybe it is not possible to change the panel-title with this solution?
 
Regards,
 
M. Brosig
 
0 Kudos
Message 1 of 6
(3,754 Views)
Hi,
have you an example which is reproducible?

regards,
ThSa
0 Kudos
Message 2 of 6
(3,716 Views)
Hello,
 
I added the TestStand and CVI files as attachment.
The included TestStand sequence file will reproduce my error / hang up.
 
Regards,
 
M. Brosig
0 Kudos
Message 3 of 6
(3,701 Views)

Hi,

which CVI Version do you use?
And which Runtime Engine do you use within TS 3.5 (the internal CVI RT or the external)?

regards,
ThSa 

0 Kudos
Message 4 of 6
(3,685 Views)
Hi,
 
My configuration:
NI LabWindows/CVI 8.0
TestStand 3.5
 
I don't know exactly what you mean which Runtime Engine I use within TS 3.5.
But if you mean, how cvi steps are executed, they are executed in-process (TestStand -> LabWindows/CVI Adapter Configuration).
Hope this answers your questions.
 
Thanks.
Regards,
 
M. Brosig
0 Kudos
Message 5 of 6
(3,679 Views)
Sounds like the dynamic call that changes panel attribute (Title) is deadlocking the event callback that refreshes the screen.
Unfortunately it seems like National Instruments does not handle GUI events via threads (by default) so these events tie up the main line of execution.
 
A guess:  Either make a call to release system events (you can also release for specific events when you find which one is causing deadlock),  or launch the dynamically updated CVI panel using a thread.  Create a function and launch the function as a thread.
 
I am not familiar with TestStand so cannot offer specific implementation.
 
robskii
0 Kudos
Message 6 of 6
(3,672 Views)