NI TestStand

Showing results for 
Search instead for 
Did you mean: 

How do you create multiple execution windows for a custom opterator interface

I am starting to create a custom operator interface for TestStand 3.5 using Labview 8.0.  This is my first exposure to custom operator interfaces (and ActiveX).  The example operator interfaces have only one execution window that changes based on the executions combo box.  My sequence is going to be run with the parallel sequence model (2 test sockets).  So I want my custom operator interface to have 2 execution windows, one for each test socket.  How can I do this?  I created a second execution window but it just mirrors the first execution window. 
0 Kudos
Message 1 of 8


Thanks for the example, unfortunatly I don't have the tools to see how this was accomplished. "It requires Microsoft Visual Studio 7 with version 1.1 of the
Dot Net Framework to compile. The example source code is written in CSharp."

But the executable worked and it proves to me that it can be done. Now I need to recreate parts in Labview.  Any ideas?

0 Kudos
Message 3 of 8

Ok, progress is being made.  By trial and error I have discovered that I need to have multiple execution managers, not just multiple execution viewers.  Please correct me if I am wrong.

BTW/FYI, I am modifing the simple NI labview version of the operator interface

0 Kudos
Message 4 of 8


Sorry about that. This has come up before which is why I remembered the example.

Can you work anything out from the Csharp code?


Ray Farmer

Ray Farmer
0 Kudos
Message 5 of 8
No, the csharp code is pretty foreign to me.  Im not a programmer by education by I have a few years of experience with Labview and CVI.
0 Kudos
Message 6 of 8
You are correct about needing multiple ExecutionViewManager controls.
If you haven't already, you should read TestStand Reference Manual>>Chapter 9 Creating Custom Operator Interfaces>>Operator Interface Application Styles>>Multiple Window
0 Kudos
Message 7 of 8

Hi, All:

 With the similar approach, I create a multiple window user interface with CVI. Although it can run, the Execution view doesn't display
anything while execution. In my user interface, there is an applicaiton manager resident in Parent form, and every child forms has
itsown Exection view and Manager.
 Referred to the C# sample, in the function :private void DisplayExecution(Execution execution)
   if (executionForm == null) // execution is not in a form, make a new form
    executionForm = new ExecutionForm(this, this.axApplicationMgr, execution);
    this.mChildFormsKeyedByViewMgr.Add(executionForm.GetViewMgr().GetOcx(), executionForm);
 I guess the execution form "hook" the exectuion view manager via Add(), so the exectuion view can be updated properly.
And according to reference manual of teststand, it mentions that "The application sets the ExecutionViewMgr.UserData property to
attach a handle, reference, or pointer that represents the window." But when I try to utilize this method, I got 2 problems:

1. How to get a window handle of a CVI panel? As execution view are resident in child panels, so I may need the window handle of
 individual child panels.
2. Even the window hanlde is gotten, how can I convert it to a VARIANT Type? According to the function panle of
TSUI_ExecutionViewMgrSetUserData (, NULL, ), the last parameter is a "VARIANT".

Any comments or instructions for my assumption?

Thank you for your help.

0 Kudos
Message 8 of 8