NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Running a sequence programatically

Hi,

I am trying to run a sequence programatically (C#). Following is my psuedo code:

            Execution exec = TSEngine.NewExecution(SeqFile, "MainSequence", null, false, 0, null, null, null);

            exec.WaitForEndEx(-1, false, null, null);

            string ResultStatus = exec.ResultStatus;

But WaitForEndEx() never returns. Please let me know what I am missing. I believe NewExecution starts a new thread. Is there anything else that i need to do for the execution to run?

Thanks,
Harsha
0 Kudos
Message 1 of 3
(2,867 Views)
I realized I need to process UI messages posted. I added a code that looks like this:

            m_TSEngine.UIMessagePollingEnabled = true;
            Execution exec = m_TSEngine.NewExecution(tempSeqFile, "MainSequence", null, false, 0, null, null, null);
            while (!exec.WaitForEndEx(0, false, null, null))
            {
                UIMessage uiMsg = m_TSEngine.GetUIMessage();
                if (uiMsg != null)
                    uiMsg.Acknowledge();
            }
            MessageBox.Show(exec.ResultStatus);

The problem is this works fine if there is a definite pass or fail. But never completes if there is a runtime error (in of the sequence calls I have deliberately put a run time error). How do I handle runtime errors. Does it not come as UI message?

Thanks,
Harsha
0 Kudos
Message 2 of 3
(2,864 Views)
The RTE options was set by m_TSEngine.StationOptions.RTEOption = RTEOptions.RTEOption_Abort.

Harsha
0 Kudos
Message 3 of 3
(2,860 Views)