This article applies to:
E-Prime 1.0
This bug has been fixed in E-Prime 1.1.
Symptoms
When invoking the InputMaskManager.Terminate method, a runtime error occurs indicating that an input mask was not armed.
Detail
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
Stimulus.InputMasks.Terminate
End If
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.
Solution
Update to E-Prime 1.1 or later.
Workaround
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.
Comments
0 comments
Please sign in to leave a comment.