I create a multiple window user interface with CVI. Although it can run, the Execution view (ActiveX control of TestStand) 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);
SetNewChildFormLocation(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 Child panel? As execution view are resident in child panels, so I may need the window handle of
individual child panels. GetPanelAttribute(,ATTR_SYSTEM_WINDOW_HANDLE,) seem won't work as the handle of child panel is always 0.
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.