08-17-2010 06:00 AM
How to avoid freezing UI on NewExecution?
Hi all.
Is there a way to avoid a freezing UI when calling Engine.NewExecution?
I'd like to implement an autom. Test Execution, that runs several tests one after another.
While one is executed the next should be prepared while the user should be able to watch the ongoing.
But the hole UI freeze when the init a new execution.
I also tried to use a model form to display a progress bar but also this one freezes.
I am using C' to implement the UI.
08-18-2010 03:57 AM
Hi Marcos,
did you already tried the shipped simple C user interface?
There you can also start multiple executions by clicking the run button multiple times.
Does this freeze too? I cannot se this behaviour here.
08-18-2010 04:09 AM
Hi,
What do you set the executionTypeMaskParam as?
08-18-2010 05:45 AM
@DianaS
yes, also inb the ui examples the ui itself freezes, while perfoming what ever Code lies under the INsertCommandsInMenu call for the EntryPoint Item.
Therefore possibly ther is acutally nothing to avoid this "freezing".
08-18-2010 05:51 AM
@Ray Farmer
This is my call:
this.axExecViewMgr.Execution = this.axAppMgr.GetEngine().NewExecution(
axAppMgr.OpenSequenceFile(currentTestExec.SequenceFile),
"Single Pass",
axAppMgr.GetEngine().GetStationModelSequenceFile(out str_temp),
false,
ExecutionTypeMask.ExecTypeMask_CloseWindowWhenDone|ExecutionTypeMask.ExecTypeMask_InitiallySuspended,
null,
null,
null);
I use the Initially suspended option to control the start of the actual excution myself and the CloseWindow when done to autoclose afterwards.
Is there a better way to init a Execution?
08-18-2010 07:58 AM
Can you attach your project to have a closer look at it and observe the freezing?
08-19-2010 04:38 AM
@DianaS
Sorry no can do.
we have a strict convention not to disclose code. i will look into it to set up a project, to stub our essential code parts.
08-19-2010 08:38 AM - edited 08-19-2010 08:41 AM
Marcos,
i suspect that the freeze is generated by heavy access of the harddrive. If this is the case, i would say that your loading options for the modules (default: Preload when execution begins) are not a lucky choice. In this case, you should split up the loading of your modules to different settings.
hope this helps,
Norbert
EDIT:
this.axExecViewMgr.Execution = this.axAppMgr.GetEngine().NewExecution(
axAppMgr.OpenSequenceFile(currentTestExec.SequenceFile),
"Single Pass",
axAppMgr.GetEngine().GetStationModelSequenceFile(out str_temp),
false,
ExecutionTypeMask.ExecTypeMask_CloseWindowWhenDone|ExecutionTypeMask.ExecTypeMask_InitiallySuspended,
null,
null,
null);
If you always load the sequence file in the new execution command, my suspicion seems more and more to hit the nail on the head.....