This article applies to:
When invoking the InputMaskManager.Terminate method, a runtime error occurs indicating that an input mask was not armed.
It is correct for an input mask object to throw a runtime error if the Terminate method is called when the input mask is not armed.
However, this is not the desired behavior when Terminate is called from the InputMaskManager object. The reason is because the most common case for calling InputMaskManager.Terminate is because the experiment is in a branch checking for InputMaskManager.IsPending and if so then calls InputMaskManager.Terminate as in the following code snip:
If Stimulus.InputMasks.IsPending Then
In the above example, if any of the input mask objects had timed out, then a run time error would be thrown, which is not the desired behavior.
In E-Prime 1.1 and later, the InputMaskManager queries the child InputMask object to verify that it is armed prior to calling Terminate on it.
Update your system to E-Prime 1.1.
This workaround is intended only for those who are unable to update to the version of E-Prime that contains the bug fix:
Enumerate through each input mask and call .Terminate only on the InputMask objects that have a status value of ebStatusArmed.